You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2002/03/22 01:42:09 UTC

cvs commit: xml-axis/contrib/Axis-C++/xerces-c/lib/Linux ReadMe.txt

sanjiva     02/03/21 16:42:06

  Added:       contrib  doit doit.log doit~
               contrib/Axis-C++ Makefile ReadMe.txt inc.mk platform.mk
               contrib/Axis-C++/Axis_Release Makefile Makefile.bak
                        ReadMe.txt
               contrib/Axis-C++/Linux/KDev/axis Makefile.am Makefile.dist
                        Makefile.in acconfig.h aclocal.m4 axis.kdevprj
                        config.h.in config.status configure configure.in
                        install-sh missing mkinstalldirs stamp-h.in
               contrib/Axis-C++/Linux/KDev/axis/axtest Makefile.am
                        Makefile.dist acconfig.h configure.in install-sh
               contrib/Axis-C++/TestHarnesses Axis_client.cpp
                        Calculator.cpp Fault.cpp Makefile Platform.cpp
                        Platform.hpp ReadMe.txt UserType.cpp
               contrib/Axis-C++/Win32 Axis.dsp Axis.dsw
               contrib/Axis-C++/Win32/Axis_Release Axis_Release.dsp
               contrib/Axis-C++/Win32/Calculator Calculator.dsp
               contrib/Axis-C++/Win32/Fault Fault.dsp
               contrib/Axis-C++/Win32/TestHarness TestHarness.dsp
               contrib/Axis-C++/Win32/UserType UserType.dsp
               contrib/Axis-C++/Win32/axis-dll-not-finish axis.dsp axis.dsw
                        libAxis.cpp libAxis.hpp
               contrib/Axis-C++/docs Index.html developers-guide.html
               contrib/Axis-C++/docs/ApiDocs AttList_8hpp-source.html
                        AttList_8hpp.html AxisConst_8hpp-source.html
                        AxisConst_8hpp.html AxisException_8cpp-source.html
                        AxisException_8cpp.html
                        AxisException_8hpp-source.html
                        AxisException_8hpp.html Call_8cpp-source.html
                        Call_8cpp.html Call_8hpp-source.html Call_8hpp.html
                        Channel_8cpp-source.html Channel_8cpp.html
                        Channel_8hpp-source.html Channel_8hpp.html
                        HttpTransport_8cpp-source.html
                        HttpTransport_8cpp.html
                        HttpTransport_8hpp-source.html
                        HttpTransport_8hpp.html
                        MessageElement_8cpp-source.html
                        MessageElement_8cpp.html
                        MessageElement_8hpp-source.html
                        MessageElement_8hpp.html NsStack_8cpp-source.html
                        NsStack_8cpp.html NsStack_8hpp-source.html
                        NsStack_8hpp.html Param_8cpp-source.html
                        Param_8cpp.html Param_8hpp-source.html
                        Param_8hpp.html Platform_8cpp-source.html
                        Platform_8cpp.html Platform_8hpp-source.html
                        Platform_8hpp.html QName_8cpp-source.html
                        QName_8cpp.html QName_8hpp-source.html
                        QName_8hpp.html RPCElement_8cpp-source.html
                        RPCElement_8cpp.html RPCElement_8hpp-source.html
                        RPCElement_8hpp.html RPCParam_8cpp-source.html
                        RPCParam_8cpp.html RPCParam_8hpp-source.html
                        RPCParam_8hpp.html Receiver_8cpp-source.html
                        Receiver_8cpp.html Receiver_8hpp-source.html
                        Receiver_8hpp.html SOAPBodyElement_8cpp-source.html
                        SOAPBodyElement_8cpp.html
                        SOAPBodyElement_8hpp-source.html
                        SOAPBodyElement_8hpp.html
                        SOAPEncoding_8cpp-source.html
                        SOAPEncoding_8cpp.html
                        SOAPEncoding_8hpp-source.html
                        SOAPEncoding_8hpp.html
                        SOAPEnvelope_8cpp-source.html
                        SOAPEnvelope_8cpp.html
                        SOAPEnvelope_8hpp-source.html
                        SOAPEnvelope_8hpp.html
                        SOAPFaultElement_8cpp-source.html
                        SOAPFaultElement_8cpp.html
                        SOAPFaultElement_8hpp-source.html
                        SOAPFaultElement_8hpp.html
                        SOAPHeader_8cpp-source.html SOAPHeader_8cpp.html
                        SOAPHeader_8hpp-source.html SOAPHeader_8hpp.html
                        SOAPMessage_8cpp-source.html SOAPMessage_8cpp.html
                        SOAPMessage_8hpp-source.html SOAPMessage_8hpp.html
                        SOAPMsgContext_8cpp-source.html
                        SOAPMsgContext_8cpp.html
                        SOAPMsgContext_8hpp-source.html
                        SOAPMsgContext_8hpp.html Sender_8cpp-source.html
                        Sender_8cpp.html Sender_8hpp-source.html
                        Sender_8hpp.html SerializerFactory_8hpp-source.html
                        SerializerFactory_8hpp.html
                        ServiceFactory_8cpp-source.html
                        ServiceFactory_8cpp.html
                        ServiceFactory_8hpp-source.html
                        ServiceFactory_8hpp.html
                        TransportFactory_8cpp-source.html
                        TransportFactory_8cpp.html
                        TransportFactory_8hpp-source.html
                        TransportFactory_8hpp.html
                        Transport_8cpp-source.html Transport_8cpp.html
                        Transport_8hpp-source.html Transport_8hpp.html
                        TypeMappingRegistry_8cpp-source.html
                        TypeMappingRegistry_8cpp.html
                        TypeMappingRegistry_8hpp-source.html
                        TypeMappingRegistry_8hpp.html Url_8cpp-source.html
                        Url_8cpp.html Url_8hpp-source.html Url_8hpp.html
                        XMLDeSerializer_8cpp-source.html
                        XMLDeSerializer_8cpp.html
                        XMLDeSerializer_8hpp-source.html
                        XMLDeSerializer_8hpp.html
                        XMLSerializer_8cpp-source.html
                        XMLSerializer_8cpp.html
                        XMLSerializer_8hpp-source.html
                        XMLSerializer_8hpp.html XMLType_8cpp-source.html
                        XMLType_8cpp.html XMLType_8hpp-source.html
                        XMLType_8hpp.html XercescConst_8hpp-source.html
                        XercescConst_8hpp.html XmlWriter_8hpp-source.html
                        XmlWriter_8hpp.html annotated.html
                        classAttList-members.html classAttList.html
                        classAxisException-members.html
                        classAxisException.gif classAxisException.html
                        classAxisFault-members.html classAxisFault.gif
                        classAxisFault.html classCall-members.html
                        classCall.html classChannel-members.html
                        classChannel.html
                        classChannelException-members.html
                        classChannelException.html classErrorHandler.gif
                        classErrorHandler.html
                        classHttpTransport-members.html
                        classHttpTransport.gif classHttpTransport.html
                        classMessageElement-members.html
                        classMessageElement.gif classMessageElement.html
                        classNsMap-members.html classNsMap.gif
                        classNsMap.html classNsMap__t.gif
                        classNsMap__t.html classNsStack-members.html
                        classNsStack.html classParam-members.html
                        classParam.html classParseErrorHandler-members.html
                        classParseErrorHandler.gif
                        classParseErrorHandler.html
                        classRPCElement-members.html classRPCElement.gif
                        classRPCElement.html classRPCParam-members.html
                        classRPCParam.html classReceiver-members.html
                        classReceiver.html
                        classSOAPBodyElement-members.html
                        classSOAPBodyElement.gif classSOAPBodyElement.html
                        classSOAPEncoding-members.html
                        classSOAPEncoding.gif classSOAPEncoding.html
                        classSOAPEnvelopFormatter-members.html
                        classSOAPEnvelopFormatter.gif
                        classSOAPEnvelopFormatter.html
                        classSOAPEnvelope-members.html
                        classSOAPEnvelope.gif classSOAPEnvelope.html
                        classSOAPFaultElement-members.html
                        classSOAPFaultElement.gif
                        classSOAPFaultElement.html
                        classSOAPHeader-members.html classSOAPHeader.gif
                        classSOAPHeader.html classSOAPMessage-members.html
                        classSOAPMessage.html
                        classSOAPMsgContext-members.html
                        classSOAPMsgContext.html classSender-members.html
                        classSender.html
                        classSerializerFactory-members.html
                        classSerializerFactory.gif
                        classSerializerFactory.html
                        classServiceFactory-members.html
                        classServiceFactory.html
                        classTransport-members.html classTransport.gif
                        classTransport.html
                        classTransportFactory-members.html
                        classTransportFactory.html
                        classTypeMappingRegistry-members.html
                        classTypeMappingRegistry.html classUrl-members.html
                        classUrl.html classXMLDeSerializer-members.html
                        classXMLDeSerializer.html classXMLFormatTarget.gif
                        classXMLFormatTarget.html
                        classXMLSerializer-members.html
                        classXMLSerializer.html classXmlWriter.gif
                        classXmlWriter.html classax_1_1QName-members.html
                        classax_1_1QName.html
                        classax_1_1XMLType-members.html
                        classax_1_1XMLType.html classes.html
                        classstd_1_1ostringstream.gif
                        classstd_1_1ostringstream.html doxygen.css
                        doxygen.gif files.html ftv2blank.gif ftv2doc.gif
                        ftv2folderclosed.gif ftv2folderopen.gif
                        ftv2lastnode.gif ftv2link.gif ftv2mlastnode.gif
                        ftv2mnode.gif ftv2node.gif ftv2plastnode.gif
                        ftv2pnode.gif ftv2vertline.gif functions.html
                        globals.html hierarchy.html index.hhc index.hhk
                        index.hhp index.html main.html namespace__ax.html
                        namespacemembers.html namespaces.html pages.html
                        todo.html tree.html tree.js treeview.js
               contrib/Axis-C++/doxygen AxisDoc.cfg docFoot.html
               contrib/Axis-C++/include AxisConst.hpp Call.hpp Param.hpp
                        Platform.hpp QName.hpp SerializerFactory.hpp
                        ServiceFactory.hpp XMLType.hpp
               contrib/Axis-C++/lib/AIX_4.3 ReadMe.txt
               contrib/Axis-C++/lib/Linux ReadMe.txt
               contrib/Axis-C++/lib/NT_4.0 ReadMe.txt
               contrib/Axis-C++/lib/SunOS_5.6 ReadMe.txt
               contrib/Axis-C++/lib/SunOS_5.7 ReadMe.txt
               contrib/Axis-C++/lib/SunOS_5.8 ReadMe.txt
               contrib/Axis-C++/objs/AIX_4.3/common ReadMe.txt
               contrib/Axis-C++/objs/Linux ReadMe.txt
               contrib/Axis-C++/objs/Linux/common ReadMe.txt
               contrib/Axis-C++/objs/NT_4.0 ReadMe.txt
               contrib/Axis-C++/objs/SunOS_5.6/common ReadMe.txt
               contrib/Axis-C++/objs/SunOS_5.7/common ReadMe.txt
               contrib/Axis-C++/objs/SunOS_5.8/common ReadMe.txt
               contrib/Axis-C++/src Makefile Platform.cpp Platform.hpp
               contrib/Axis-C++/src/Client Call.cpp Call.hpp Makefile
                        ServiceFactory.cpp ServiceFactory.hpp
               contrib/Axis-C++/src/Encoding Makefile Param.cpp Param.hpp
                        SOAPEncoding.cpp SOAPEncoding.hpp
                        SerializerFactory.hpp TypeMappingRegistry.cpp
                        TypeMappingRegistry.hpp XMLType.cpp XMLType.hpp
               contrib/Axis-C++/src/Message Makefile MessageElement.cpp
                        MessageElement.hpp RPCElement.cpp RPCElement.hpp
                        RPCParam.cpp RPCParam.hpp SOAPBodyElement.cpp
                        SOAPBodyElement.hpp SOAPEnvelope.cpp
                        SOAPEnvelope.hpp SOAPFaultElement.cpp
                        SOAPFaultElement.hpp SOAPHeader.cpp SOAPHeader.hpp
                        SOAPMessage.cpp SOAPMessage.hpp SOAPMsgContext.cpp
                        SOAPMsgContext.hpp
               contrib/Axis-C++/src/Transport Channel.cpp Channel.hpp
                        HttpTransport.cpp HttpTransport.hpp Makefile
                        Receiver.cpp Receiver.hpp Sender.cpp Sender.hpp
                        Transport.cpp Transport.hpp TransportFactory.cpp
                        TransportFactory.hpp
               contrib/Axis-C++/src/Util AttList.hpp AxisConst.hpp
                        AxisException.cpp AxisException.hpp Makefile
                        NsStack.cpp NsStack.hpp QName.cpp QName.hpp Url.cpp
                        Url.hpp
               contrib/Axis-C++/src/Xml Makefile XMLDeSerializer.cpp
                        XMLDeSerializer.hpp XMLSerializer.cpp
                        XMLSerializer.hpp XercescConst.hpp XmlWriter.hpp
               contrib/Axis-C++/xerces-c/bin ReadMe.txt
               contrib/Axis-C++/xerces-c/include ReadMe.txt
               contrib/Axis-C++/xerces-c/include/dom ChildNode.hpp DOM.hpp
                        DOMString.hpp DOM_Attr.hpp DOM_CDATASection.hpp
                        DOM_CharacterData.hpp DOM_Comment.hpp
                        DOM_DOMException.hpp DOM_DOMImplementation.hpp
                        DOM_Document.hpp DOM_DocumentFragment.hpp
                        DOM_DocumentType.hpp DOM_Element.hpp DOM_Entity.hpp
                        DOM_EntityReference.hpp DOM_NamedNodeMap.hpp
                        DOM_Node.hpp DOM_NodeFilter.hpp
                        DOM_NodeIterator.hpp DOM_NodeList.hpp
                        DOM_Notation.hpp DOM_ProcessingInstruction.hpp
                        DOM_Range.hpp DOM_RangeException.hpp DOM_Text.hpp
                        DOM_TreeWalker.hpp DOM_XMLDecl.hpp DomMemDebug.hpp
                        MemDebug.hpp NameNodeFilter.hpp NodeIDMap.hpp
                        NodeVector.hpp ParentNode.hpp
               contrib/Axis-C++/xerces-c/include/framework
                        LocalFileInputSource.hpp MemBufInputSource.hpp
                        StdInInputSource.hpp URLInputSource.hpp
                        XMLAttDef.hpp XMLAttDefList.hpp XMLAttr.hpp
                        XMLBuffer.hpp XMLBufferMgr.hpp XMLContentModel.hpp
                        XMLDocumentHandler.hpp XMLElementDecl.hpp
                        XMLEntityDecl.hpp XMLEntityHandler.hpp
                        XMLErrorCodes.hpp XMLErrorReporter.hpp
                        XMLFormatter.hpp XMLNotationDecl.hpp
                        XMLPScanToken.hpp XMLRecognizer.hpp XMLRefInfo.hpp
                        XMLValidator.hpp XMLValidityCodes.hpp
               contrib/Axis-C++/xerces-c/include/idom IDCasts.hpp
                        IDChildNode.hpp IDDOMImplementation.hpp
                        IDDeepNodeListPool.c IDDeepNodeListPool.hpp
                        IDNodeIDMap.hpp IDNodeVector.hpp IDOM.hpp
                        IDOM_Attr.hpp IDOM_CDATASection.hpp
                        IDOM_CharacterData.hpp IDOM_Comment.hpp
                        IDOM_DOMException.hpp IDOM_DOMImplementation.hpp
                        IDOM_Document.hpp IDOM_DocumentFragment.hpp
                        IDOM_DocumentType.hpp IDOM_Element.hpp
                        IDOM_Entity.hpp IDOM_EntityReference.hpp
                        IDOM_NamedNodeMap.hpp IDOM_Node.hpp
                        IDOM_NodeFilter.hpp IDOM_NodeIterator.hpp
                        IDOM_NodeList.hpp IDOM_Notation.hpp
                        IDOM_ProcessingInstruction.hpp IDOM_Range.hpp
                        IDOM_RangeException.hpp IDOM_Text.hpp
                        IDOM_TreeWalker.hpp IDParentNode.hpp
               contrib/Axis-C++/xerces-c/include/internal
                        CharTypeTables.hpp ElemStack.hpp
                        EndOfEntityException.hpp ReaderMgr.hpp
                        VecAttrListImpl.hpp VecAttributesImpl.hpp
                        XMLInternalErrorHandler.hpp XMLReader.hpp
                        XMLScanner.hpp
               contrib/Axis-C++/xerces-c/include/parsers DOMParser.hpp
                        IDOMParser.hpp SAX2XMLReaderImpl.hpp SAXParser.hpp
               contrib/Axis-C++/xerces-c/include/sax AttributeList.hpp
                        DTDHandler.hpp DocumentHandler.hpp
                        EntityResolver.hpp ErrorHandler.hpp HandlerBase.hpp
                        InputSource.hpp Locator.hpp Parser.hpp
                        SAXException.hpp SAXParseException.hpp
               contrib/Axis-C++/xerces-c/include/sax2 Attributes.hpp
                        ContentHandler.hpp DefaultHandler.hpp
                        LexicalHandler.hpp SAX2XMLReader.hpp
                        XMLReaderFactory.hpp
               contrib/Axis-C++/xerces-c/include/util
                        ArrayIndexOutOfBoundsException.hpp AutoSense.hpp
                        Base64.hpp BinFileInputStream.hpp
                        BinInputStream.hpp BinMemInputStream.hpp BitOps.hpp
                        BitSet.hpp CountedPointer.c CountedPointer.hpp
                        EmptyStackException.hpp FlagJanitor.c
                        FlagJanitor.hpp HashBase.hpp HashCMStateSet.hpp
                        HashPtr.hpp HashXMLCh.hpp HexBin.hpp
                        IOException.hpp IllegalArgumentException.hpp
                        InvalidCastException.hpp Janitor.c Janitor.hpp
                        KVStringPair.hpp KeyValuePair.c KeyValuePair.hpp
                        Mutexes.hpp NameIdPool.c NameIdPool.hpp
                        NoDefTranscoderException.hpp
                        NoSuchElementException.hpp NullPointerException.hpp
                        NumberFormatException.hpp ParseException.hpp
                        PlatformUtils.hpp QName.hpp RefArrayOf.c
                        RefArrayOf.hpp RefHash2KeysTableOf.c
                        RefHash2KeysTableOf.hpp RefHash3KeysIdPool.c
                        RefHash3KeysIdPool.hpp RefHashTableOf.c
                        RefHashTableOf.hpp RefStackOf.c RefStackOf.hpp
                        RefVectorOf.c RefVectorOf.hpp RuntimeException.hpp
                        StringPool.hpp TransENameMap.c TransENameMap.hpp
                        TransService.hpp TranscodingException.hpp
                        UTFDataFormatException.hpp
                        UnexpectedEOFException.hpp
                        UnsupportedEncodingException.hpp ValueArrayOf.c
                        ValueArrayOf.hpp ValueStackOf.c ValueStackOf.hpp
                        ValueVectorOf.c ValueVectorOf.hpp
                        XML256TableTranscoder.hpp XML88591Transcoder.hpp
                        XMLASCIITranscoder.hpp XMLBigDecimal.hpp
                        XMLBigInteger.hpp XMLChTranscoder.hpp
                        XMLDeleterFor.c XMLDeleterFor.hpp XMLDouble.hpp
                        XMLEBCDICTranscoder.hpp XMLEnumerator.hpp
                        XMLExceptMsgs.hpp XMLException.hpp XMLFloat.hpp
                        XMLIBM1140Transcoder.hpp XMLInteger.hpp
                        XMLMsgLoader.hpp XMLNetAccessor.hpp XMLNumber.hpp
                        XMLRegisterCleanup.hpp XMLString.hpp
                        XMLStringTokenizer.hpp XMLUCS4Transcoder.hpp
                        XMLURL.hpp XMLUTF16Transcoder.hpp
                        XMLUTF8Transcoder.hpp XMLUni.hpp XMLUniDefs.hpp
                        XMLUri.hpp XMLWin1252Transcoder.hpp XercesDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Compilers
                        BorlandCDefs.hpp CSetDefs.hpp CodeWarriorDefs.hpp
                        DECCXXDefs.hpp GCCDefs.hpp HPCCDefs.hpp
                        IBMVAOS2Defs.hpp IBMVAW32Defs.hpp MIPSproDefs.hpp
                        MVSCPPDefs.hpp OS400SetDefs.hpp PTXCCDefs.hpp
                        SCOCCDefs.hpp SunCCDefs.hpp SunKaiDefs.hpp
                        TandemCCDefs.hpp VCPPDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
                        ICUMsgLoader.hpp
               contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
                        CppErrMsgs_EN_US.hpp InMemMsgLoader.hpp
               contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
                        MsgCatalogLoader.hpp XMLMsgCat_Ids.hpp
               contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
                        Win32MsgLoader.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
                        AIXDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
                        HPUXDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
                        LinuxDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
                        MacOSDefs.hpp MacOSPlatformUtils.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
                        OS2Defs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
                        OS390Defs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
                        PTXDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
                        SolarisDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
                        TandemDefs.hpp
               contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
                        Win32Defs.hpp
               contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
                        ICUTransService.hpp
               contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
                        IconvTransService.hpp
               contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
                        Win32TransService.hpp
               contrib/Axis-C++/xerces-c/include/util/regx
                        ASCIIRangeFactory.hpp BMPattern.hpp
                        BlockRangeFactory.hpp CharToken.hpp
                        ClosureToken.hpp ConcatToken.hpp ConditionToken.hpp
                        Match.hpp ModifierToken.hpp Op.hpp OpFactory.hpp
                        ParenToken.hpp ParserForXMLSchema.hpp
                        RangeFactory.hpp RangeToken.hpp RangeTokenMap.hpp
                        RegularExpression.hpp RegxDefs.hpp RegxParser.hpp
                        RegxUtil.hpp StringToken.hpp Token.hpp
                        TokenFactory.hpp TokenInc.hpp UniCharTable.hpp
                        UnicodeRangeFactory.hpp UnionToken.hpp
                        XMLRangeFactory.hpp XMLUniCharacter.hpp
               contrib/Axis-C++/xerces-c/include/validators/DTD
                        DTDAttDef.hpp DTDAttDefList.hpp DTDElementDecl.hpp
                        DTDEntityDecl.hpp DTDGrammar.hpp DTDScanner.hpp
                        DTDValidator.hpp DocTypeHandler.hpp
               contrib/Axis-C++/xerces-c/include/validators/common
                        AllContentModel.hpp CMAny.hpp CMBinaryOp.hpp
                        CMLeaf.hpp CMNode.hpp CMStateSet.hpp CMUnaryOp.hpp
                        ContentLeafNameTypeVector.hpp ContentSpecNode.hpp
                        DFAContentModel.hpp Grammar.hpp GrammarResolver.hpp
                        MixedContentModel.hpp SimpleContentModel.hpp
               contrib/Axis-C++/xerces-c/include/validators/datatype
                        AbstractNumericFacetValidator.hpp
                        AbstractNumericValidator.hpp
                        AbstractStringValidator.hpp
                        AnySimpleTypeDatatypeValidator.hpp
                        AnyURIDatatypeValidator.hpp
                        Base64BinaryDatatypeValidator.hpp
                        BooleanDatatypeValidator.hpp DatatypeValidator.hpp
                        DatatypeValidatorFactory.hpp
                        DecimalDatatypeValidator.hpp
                        DoubleDatatypeValidator.hpp
                        ENTITYDatatypeValidator.hpp
                        FloatDatatypeValidator.hpp
                        HexBinaryDatatypeValidator.hpp
                        IDDatatypeValidator.hpp IDREFDatatypeValidator.hpp
                        InvalidDatatypeFacetException.hpp
                        InvalidDatatypeValueException.hpp
                        ListDatatypeValidator.hpp
                        NCNameDatatypeValidator.hpp
                        NOTATIONDatatypeValidator.hpp
                        NameDatatypeValidator.hpp
                        QNameDatatypeValidator.hpp
                        StringDatatypeValidator.hpp
                        UnionDatatypeValidator.hpp
               contrib/Axis-C++/xerces-c/include/validators/schema
                        ComplexTypeInfo.hpp GeneralAttributeCheck.hpp
                        NamespaceScope.hpp SchemaAttDef.hpp
                        SchemaAttDefList.hpp SchemaElementDecl.hpp
                        SchemaGrammar.hpp SchemaInfo.hpp SchemaSymbols.hpp
                        SchemaValidator.hpp SubstitutionGroupComparator.hpp
                        TraverseSchema.hpp XUtil.hpp XercesAttGroupInfo.hpp
                        XercesElementWildcard.hpp XercesGroupInfo.hpp
               contrib/Axis-C++/xerces-c/lib ReadMe.txt
               contrib/Axis-C++/xerces-c/lib/Linux ReadMe.txt
  Log:
  added c++ contribution from Sri Lanka
  
  Revision  Changes    Path
  1.1                  xml-axis/contrib/doit
  
  Index: doit
  ===================================================================
  #set echo
  foreach i (*) 
    if (-d $i) then 
      if ($i != "CVS") then
        echo adding directory $cwd/$i
        cvs add $i
        (cd $i; tcsh c:/projects/xml-axis/contrib/doit)
      endif
    else
      echo adding file $cwd/$i
      cvs add $i
    endif
  end
  
  
  
  1.1                  xml-axis/contrib/doit.log
  
  Index: doit.log
  ===================================================================
  adding directory /cygdrive/c/projects/xml-axis/contrib/c:/projects/xml-axis/contrib/Axis-C++
  ? Axis-C++/Axis_Release
  ? Axis-C++/docs
  ? Axis-C++/doxygen
  ? Axis-C++/inc.mk
  ? Axis-C++/include
  ? Axis-C++/lib
  ? Axis-C++/Linux
  ? Axis-C++/Makefile
  ? Axis-C++/objs
  ? Axis-C++/platform.mk
  ? Axis-C++/ReadMe.txt
  ? Axis-C++/src
  ? Axis-C++/TestHarnesses
  ? Axis-C++/Win32
  ? Axis-C++/xerces-c
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++ added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Axis_Release
  ? Axis_Release/Makefile
  ? Axis_Release/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Axis_Release added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Axis_Release/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Axis_Release/Makefile.bak
  cvs server: scheduling file `Makefile.bak' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Axis_Release/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux
  ? Linux/KDev
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev
  ? KDev/axis
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux/KDev added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis
  ? axis/acconfig.h
  ? axis/aclocal.m4
  ? axis/axis
  ? axis/axis.kdevprj
  ? axis/axtest
  ? axis/config.h.in
  ? axis/config.status
  ? axis/configure
  ? axis/configure.in
  ? axis/install-sh
  ? axis/Makefile.am
  ? axis/Makefile.dist
  ? axis/Makefile.in
  ? axis/missing
  ? axis/mkinstalldirs
  ? axis/stamp-h.in
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux/KDev/axis added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.am
  cvs server: scheduling file `Makefile.am' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.dist
  cvs server: scheduling file `Makefile.dist' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.in
  cvs server: scheduling file `Makefile.in' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/acconfig.h
  cvs server: scheduling file `acconfig.h' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/aclocal.m4
  cvs server: scheduling file `aclocal.m4' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axis
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axis added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axis.kdevprj
  cvs server: scheduling file `axis.kdevprj' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest
  ? axtest/acconfig.h
  ? axtest/axtest
  ? axtest/configure.in
  ? axtest/install-sh
  ? axtest/Makefile.am
  ? axtest/Makefile.dist
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/Makefile.am
  cvs server: scheduling file `Makefile.am' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/Makefile.dist
  cvs server: scheduling file `Makefile.dist' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/acconfig.h
  cvs server: scheduling file `acconfig.h' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/axtest
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/axtest added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/configure.in
  cvs server: scheduling file `configure.in' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/install-sh
  cvs server: scheduling file `install-sh' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/config.h.in
  cvs server: scheduling file `config.h.in' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/config.status
  cvs server: scheduling file `config.status' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/configure
  cvs server: scheduling file `configure' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/configure.in
  cvs server: scheduling file `configure.in' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/install-sh
  cvs server: scheduling file `install-sh' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/missing
  cvs server: scheduling file `missing' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/mkinstalldirs
  cvs server: scheduling file `mkinstalldirs' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Linux/KDev/axis/stamp-h.in
  cvs server: scheduling file `stamp-h.in' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses
  ? TestHarnesses/Axis_client.cpp
  ? TestHarnesses/Calculator.cpp
  ? TestHarnesses/Fault.cpp
  ? TestHarnesses/Makefile
  ? TestHarnesses/Platform.cpp
  ? TestHarnesses/Platform.hpp
  ? TestHarnesses/ReadMe.txt
  ? TestHarnesses/UserType.cpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/TestHarnesses added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Axis_client.cpp
  cvs server: scheduling file `Axis_client.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Calculator.cpp
  cvs server: scheduling file `Calculator.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Fault.cpp
  cvs server: scheduling file `Fault.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Platform.cpp
  cvs server: scheduling file `Platform.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/Platform.hpp
  cvs server: scheduling file `Platform.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/TestHarnesses/UserType.cpp
  cvs server: scheduling file `UserType.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32
  ? Win32/axis-dll-not-finish
  ? Win32/Axis.dsp
  ? Win32/Axis.dsw
  ? Win32/Axis_Release
  ? Win32/Calculator
  ? Win32/Fault
  ? Win32/TestHarness
  ? Win32/UserType
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Axis.dsp
  cvs server: scheduling file `Axis.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Axis.dsw
  cvs server: scheduling file `Axis.dsw' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Axis_Release
  ? Axis_Release/Axis_Release.dsp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/Axis_Release added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Axis_Release/Axis_Release.dsp
  cvs server: scheduling file `Axis_Release.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Calculator
  ? Calculator/Calculator.dsp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/Calculator added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Calculator/Calculator.dsp
  cvs server: scheduling file `Calculator.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Fault
  ? Fault/Fault.dsp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/Fault added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/Fault/Fault.dsp
  cvs server: scheduling file `Fault.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/TestHarness
  ? TestHarness/TestHarness.dsp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/TestHarness added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/TestHarness/TestHarness.dsp
  cvs server: scheduling file `TestHarness.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/UserType
  ? UserType/UserType.dsp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/UserType added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/UserType/UserType.dsp
  cvs server: scheduling file `UserType.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish
  ? axis-dll-not-finish/axis.dsp
  ? axis-dll-not-finish/axis.dsw
  ? axis-dll-not-finish/libAxis.cpp
  ? axis-dll-not-finish/libAxis.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/axis.dsp
  cvs server: scheduling file `axis.dsp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/axis.dsw
  cvs server: scheduling file `axis.dsw' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/libAxis.cpp
  cvs server: scheduling file `libAxis.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/libAxis.hpp
  cvs server: scheduling file `libAxis.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs
  ? docs/ApiDocs
  ? docs/developers-guide.html
  ? docs/Index.html
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/docs added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs
  ? ApiDocs/annotated.html
  ? ApiDocs/AttList_8hpp-source.html
  ? ApiDocs/AttList_8hpp.html
  ? ApiDocs/AxisConst_8hpp-source.html
  ? ApiDocs/AxisConst_8hpp.html
  ? ApiDocs/AxisException_8cpp-source.html
  ? ApiDocs/AxisException_8cpp.html
  ? ApiDocs/AxisException_8hpp-source.html
  ? ApiDocs/AxisException_8hpp.html
  ? ApiDocs/Call_8cpp-source.html
  ? ApiDocs/Call_8cpp.html
  ? ApiDocs/Call_8hpp-source.html
  ? ApiDocs/Call_8hpp.html
  ? ApiDocs/Channel_8cpp-source.html
  ? ApiDocs/Channel_8cpp.html
  ? ApiDocs/Channel_8hpp-source.html
  ? ApiDocs/Channel_8hpp.html
  ? ApiDocs/classAttList-members.html
  ? ApiDocs/classAttList.html
  ? ApiDocs/classAxisException-members.html
  ? ApiDocs/classAxisException.gif
  ? ApiDocs/classAxisException.html
  ? ApiDocs/classAxisFault-members.html
  ? ApiDocs/classAxisFault.gif
  ? ApiDocs/classAxisFault.html
  ? ApiDocs/classax_1_1QName-members.html
  ? ApiDocs/classax_1_1QName.html
  ? ApiDocs/classax_1_1XMLType-members.html
  ? ApiDocs/classax_1_1XMLType.html
  ? ApiDocs/classCall-members.html
  ? ApiDocs/classCall.html
  ? ApiDocs/classChannel-members.html
  ? ApiDocs/classChannel.html
  ? ApiDocs/classChannelException-members.html
  ? ApiDocs/classChannelException.html
  ? ApiDocs/classErrorHandler.gif
  ? ApiDocs/classErrorHandler.html
  ? ApiDocs/classes.html
  ? ApiDocs/classHttpTransport-members.html
  ? ApiDocs/classHttpTransport.gif
  ? ApiDocs/classHttpTransport.html
  ? ApiDocs/classMessageElement-members.html
  ? ApiDocs/classMessageElement.gif
  ? ApiDocs/classMessageElement.html
  ? ApiDocs/classNsMap-members.html
  ? ApiDocs/classNsMap.gif
  ? ApiDocs/classNsMap.html
  ? ApiDocs/classNsMap__t.gif
  ? ApiDocs/classNsMap__t.html
  ? ApiDocs/classNsStack-members.html
  ? ApiDocs/classNsStack.html
  ? ApiDocs/classParam-members.html
  ? ApiDocs/classParam.html
  ? ApiDocs/classParseErrorHandler-members.html
  ? ApiDocs/classParseErrorHandler.gif
  ? ApiDocs/classParseErrorHandler.html
  ? ApiDocs/classReceiver-members.html
  ? ApiDocs/classReceiver.html
  ? ApiDocs/classRPCElement-members.html
  ? ApiDocs/classRPCElement.gif
  ? ApiDocs/classRPCElement.html
  ? ApiDocs/classRPCParam-members.html
  ? ApiDocs/classRPCParam.html
  ? ApiDocs/classSender-members.html
  ? ApiDocs/classSender.html
  ? ApiDocs/classSerializerFactory-members.html
  ? ApiDocs/classSerializerFactory.gif
  ? ApiDocs/classSerializerFactory.html
  ? ApiDocs/classServiceFactory-members.html
  ? ApiDocs/classServiceFactory.html
  ? ApiDocs/classSOAPBodyElement-members.html
  ? ApiDocs/classSOAPBodyElement.gif
  ? ApiDocs/classSOAPBodyElement.html
  ? ApiDocs/classSOAPEncoding-members.html
  ? ApiDocs/classSOAPEncoding.gif
  ? ApiDocs/classSOAPEncoding.html
  ? ApiDocs/classSOAPEnvelope-members.html
  ? ApiDocs/classSOAPEnvelope.gif
  ? ApiDocs/classSOAPEnvelope.html
  ? ApiDocs/classSOAPEnvelopFormatter-members.html
  ? ApiDocs/classSOAPEnvelopFormatter.gif
  ? ApiDocs/classSOAPEnvelopFormatter.html
  ? ApiDocs/classSOAPFaultElement-members.html
  ? ApiDocs/classSOAPFaultElement.gif
  ? ApiDocs/classSOAPFaultElement.html
  ? ApiDocs/classSOAPHeader-members.html
  ? ApiDocs/classSOAPHeader.gif
  ? ApiDocs/classSOAPHeader.html
  ? ApiDocs/classSOAPMessage-members.html
  ? ApiDocs/classSOAPMessage.html
  ? ApiDocs/classSOAPMsgContext-members.html
  ? ApiDocs/classSOAPMsgContext.html
  ? ApiDocs/classstd_1_1ostringstream.gif
  ? ApiDocs/classstd_1_1ostringstream.html
  ? ApiDocs/classTransport-members.html
  ? ApiDocs/classTransport.gif
  ? ApiDocs/classTransport.html
  ? ApiDocs/classTransportFactory-members.html
  ? ApiDocs/classTransportFactory.html
  ? ApiDocs/classTypeMappingRegistry-members.html
  ? ApiDocs/classTypeMappingRegistry.html
  ? ApiDocs/classUrl-members.html
  ? ApiDocs/classUrl.html
  ? ApiDocs/classXMLDeSerializer-members.html
  ? ApiDocs/classXMLDeSerializer.html
  ? ApiDocs/classXMLFormatTarget.gif
  ? ApiDocs/classXMLFormatTarget.html
  ? ApiDocs/classXMLSerializer-members.html
  ? ApiDocs/classXMLSerializer.html
  ? ApiDocs/classXmlWriter.gif
  ? ApiDocs/classXmlWriter.html
  ? ApiDocs/doxygen.css
  ? ApiDocs/doxygen.gif
  ? ApiDocs/files.html
  ? ApiDocs/ftv2blank.gif
  ? ApiDocs/ftv2doc.gif
  ? ApiDocs/ftv2folderclosed.gif
  ? ApiDocs/ftv2folderopen.gif
  ? ApiDocs/ftv2lastnode.gif
  ? ApiDocs/ftv2link.gif
  ? ApiDocs/ftv2mlastnode.gif
  ? ApiDocs/ftv2mnode.gif
  ? ApiDocs/ftv2node.gif
  ? ApiDocs/ftv2plastnode.gif
  ? ApiDocs/ftv2pnode.gif
  ? ApiDocs/ftv2vertline.gif
  ? ApiDocs/functions.html
  ? ApiDocs/globals.html
  ? ApiDocs/hierarchy.html
  ? ApiDocs/HttpTransport_8cpp-source.html
  ? ApiDocs/HttpTransport_8cpp.html
  ? ApiDocs/HttpTransport_8hpp-source.html
  ? ApiDocs/HttpTransport_8hpp.html
  ? ApiDocs/index.hhc
  ? ApiDocs/index.hhk
  ? ApiDocs/index.hhp
  ? ApiDocs/index.html
  ? ApiDocs/main.html
  ? ApiDocs/MessageElement_8cpp-source.html
  ? ApiDocs/MessageElement_8cpp.html
  ? ApiDocs/MessageElement_8hpp-source.html
  ? ApiDocs/MessageElement_8hpp.html
  ? ApiDocs/namespacemembers.html
  ? ApiDocs/namespaces.html
  ? ApiDocs/namespace__ax.html
  ? ApiDocs/NsStack_8cpp-source.html
  ? ApiDocs/NsStack_8cpp.html
  ? ApiDocs/NsStack_8hpp-source.html
  ? ApiDocs/NsStack_8hpp.html
  ? ApiDocs/pages.html
  ? ApiDocs/Param_8cpp-source.html
  ? ApiDocs/Param_8cpp.html
  ? ApiDocs/Param_8hpp-source.html
  ? ApiDocs/Param_8hpp.html
  ? ApiDocs/Platform_8cpp-source.html
  ? ApiDocs/Platform_8cpp.html
  ? ApiDocs/Platform_8hpp-source.html
  ? ApiDocs/Platform_8hpp.html
  ? ApiDocs/QName_8cpp-source.html
  ? ApiDocs/QName_8cpp.html
  ? ApiDocs/QName_8hpp-source.html
  ? ApiDocs/QName_8hpp.html
  ? ApiDocs/Receiver_8cpp-source.html
  ? ApiDocs/Receiver_8cpp.html
  ? ApiDocs/Receiver_8hpp-source.html
  ? ApiDocs/Receiver_8hpp.html
  ? ApiDocs/RPCElement_8cpp-source.html
  ? ApiDocs/RPCElement_8cpp.html
  ? ApiDocs/RPCElement_8hpp-source.html
  ? ApiDocs/RPCElement_8hpp.html
  ? ApiDocs/RPCParam_8cpp-source.html
  ? ApiDocs/RPCParam_8cpp.html
  ? ApiDocs/RPCParam_8hpp-source.html
  ? ApiDocs/RPCParam_8hpp.html
  ? ApiDocs/Sender_8cpp-source.html
  ? ApiDocs/Sender_8cpp.html
  ? ApiDocs/Sender_8hpp-source.html
  ? ApiDocs/Sender_8hpp.html
  ? ApiDocs/SerializerFactory_8hpp-source.html
  ? ApiDocs/SerializerFactory_8hpp.html
  ? ApiDocs/ServiceFactory_8cpp-source.html
  ? ApiDocs/ServiceFactory_8cpp.html
  ? ApiDocs/ServiceFactory_8hpp-source.html
  ? ApiDocs/ServiceFactory_8hpp.html
  ? ApiDocs/SOAPBodyElement_8cpp-source.html
  ? ApiDocs/SOAPBodyElement_8cpp.html
  ? ApiDocs/SOAPBodyElement_8hpp-source.html
  ? ApiDocs/SOAPBodyElement_8hpp.html
  ? ApiDocs/SOAPEncoding_8cpp-source.html
  ? ApiDocs/SOAPEncoding_8cpp.html
  ? ApiDocs/SOAPEncoding_8hpp-source.html
  ? ApiDocs/SOAPEncoding_8hpp.html
  ? ApiDocs/SOAPEnvelope_8cpp-source.html
  ? ApiDocs/SOAPEnvelope_8cpp.html
  ? ApiDocs/SOAPEnvelope_8hpp-source.html
  ? ApiDocs/SOAPEnvelope_8hpp.html
  ? ApiDocs/SOAPFaultElement_8cpp-source.html
  ? ApiDocs/SOAPFaultElement_8cpp.html
  ? ApiDocs/SOAPFaultElement_8hpp-source.html
  ? ApiDocs/SOAPFaultElement_8hpp.html
  ? ApiDocs/SOAPHeader_8cpp-source.html
  ? ApiDocs/SOAPHeader_8cpp.html
  ? ApiDocs/SOAPHeader_8hpp-source.html
  ? ApiDocs/SOAPHeader_8hpp.html
  ? ApiDocs/SOAPMessage_8cpp-source.html
  ? ApiDocs/SOAPMessage_8cpp.html
  ? ApiDocs/SOAPMessage_8hpp-source.html
  ? ApiDocs/SOAPMessage_8hpp.html
  ? ApiDocs/SOAPMsgContext_8cpp-source.html
  ? ApiDocs/SOAPMsgContext_8cpp.html
  ? ApiDocs/SOAPMsgContext_8hpp-source.html
  ? ApiDocs/SOAPMsgContext_8hpp.html
  ? ApiDocs/todo.html
  ? ApiDocs/TransportFactory_8cpp-source.html
  ? ApiDocs/TransportFactory_8cpp.html
  ? ApiDocs/TransportFactory_8hpp-source.html
  ? ApiDocs/TransportFactory_8hpp.html
  ? ApiDocs/Transport_8cpp-source.html
  ? ApiDocs/Transport_8cpp.html
  ? ApiDocs/Transport_8hpp-source.html
  ? ApiDocs/Transport_8hpp.html
  ? ApiDocs/tree.html
  ? ApiDocs/tree.js
  ? ApiDocs/treeview.js
  ? ApiDocs/TypeMappingRegistry_8cpp-source.html
  ? ApiDocs/TypeMappingRegistry_8cpp.html
  ? ApiDocs/TypeMappingRegistry_8hpp-source.html
  ? ApiDocs/TypeMappingRegistry_8hpp.html
  ? ApiDocs/Url_8cpp-source.html
  ? ApiDocs/Url_8cpp.html
  ? ApiDocs/Url_8hpp-source.html
  ? ApiDocs/Url_8hpp.html
  ? ApiDocs/XercescConst_8hpp-source.html
  ? ApiDocs/XercescConst_8hpp.html
  ? ApiDocs/XMLDeSerializer_8cpp-source.html
  ? ApiDocs/XMLDeSerializer_8cpp.html
  ? ApiDocs/XMLDeSerializer_8hpp-source.html
  ? ApiDocs/XMLDeSerializer_8hpp.html
  ? ApiDocs/XMLSerializer_8cpp-source.html
  ? ApiDocs/XMLSerializer_8cpp.html
  ? ApiDocs/XMLSerializer_8hpp-source.html
  ? ApiDocs/XMLSerializer_8hpp.html
  ? ApiDocs/XMLType_8cpp-source.html
  ? ApiDocs/XMLType_8cpp.html
  ? ApiDocs/XMLType_8hpp-source.html
  ? ApiDocs/XMLType_8hpp.html
  ? ApiDocs/XmlWriter_8hpp-source.html
  ? ApiDocs/XmlWriter_8hpp.html
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/docs/ApiDocs added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AttList_8hpp-source.html
  cvs server: scheduling file `AttList_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AttList_8hpp.html
  cvs server: scheduling file `AttList_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisConst_8hpp-source.html
  cvs server: scheduling file `AxisConst_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisConst_8hpp.html
  cvs server: scheduling file `AxisConst_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8cpp-source.html
  cvs server: scheduling file `AxisException_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8cpp.html
  cvs server: scheduling file `AxisException_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8hpp-source.html
  cvs server: scheduling file `AxisException_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8hpp.html
  cvs server: scheduling file `AxisException_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8cpp-source.html
  cvs server: scheduling file `Call_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8cpp.html
  cvs server: scheduling file `Call_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8hpp-source.html
  cvs server: scheduling file `Call_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8hpp.html
  cvs server: scheduling file `Call_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8cpp-source.html
  cvs server: scheduling file `Channel_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8cpp.html
  cvs server: scheduling file `Channel_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8hpp-source.html
  cvs server: scheduling file `Channel_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8hpp.html
  cvs server: scheduling file `Channel_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8cpp-source.html
  cvs server: scheduling file `HttpTransport_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8cpp.html
  cvs server: scheduling file `HttpTransport_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8hpp-source.html
  cvs server: scheduling file `HttpTransport_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8hpp.html
  cvs server: scheduling file `HttpTransport_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8cpp-source.html
  cvs server: scheduling file `MessageElement_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8cpp.html
  cvs server: scheduling file `MessageElement_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8hpp-source.html
  cvs server: scheduling file `MessageElement_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8hpp.html
  cvs server: scheduling file `MessageElement_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8cpp-source.html
  cvs server: scheduling file `NsStack_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8cpp.html
  cvs server: scheduling file `NsStack_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8hpp-source.html
  cvs server: scheduling file `NsStack_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8hpp.html
  cvs server: scheduling file `NsStack_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8cpp-source.html
  cvs server: scheduling file `Param_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8cpp.html
  cvs server: scheduling file `Param_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8hpp-source.html
  cvs server: scheduling file `Param_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8hpp.html
  cvs server: scheduling file `Param_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8cpp-source.html
  cvs server: scheduling file `Platform_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8cpp.html
  cvs server: scheduling file `Platform_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8hpp-source.html
  cvs server: scheduling file `Platform_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8hpp.html
  cvs server: scheduling file `Platform_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8cpp-source.html
  cvs server: scheduling file `QName_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8cpp.html
  cvs server: scheduling file `QName_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8hpp-source.html
  cvs server: scheduling file `QName_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8hpp.html
  cvs server: scheduling file `QName_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8cpp-source.html
  cvs server: scheduling file `RPCElement_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8cpp.html
  cvs server: scheduling file `RPCElement_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8hpp-source.html
  cvs server: scheduling file `RPCElement_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8hpp.html
  cvs server: scheduling file `RPCElement_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8cpp-source.html
  cvs server: scheduling file `RPCParam_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8cpp.html
  cvs server: scheduling file `RPCParam_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8hpp-source.html
  cvs server: scheduling file `RPCParam_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8hpp.html
  cvs server: scheduling file `RPCParam_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8cpp-source.html
  cvs server: scheduling file `Receiver_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8cpp.html
  cvs server: scheduling file `Receiver_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8hpp-source.html
  cvs server: scheduling file `Receiver_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8hpp.html
  cvs server: scheduling file `Receiver_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8cpp-source.html
  cvs server: scheduling file `SOAPBodyElement_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8cpp.html
  cvs server: scheduling file `SOAPBodyElement_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8hpp-source.html
  cvs server: scheduling file `SOAPBodyElement_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8hpp.html
  cvs server: scheduling file `SOAPBodyElement_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8cpp-source.html
  cvs server: scheduling file `SOAPEncoding_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8cpp.html
  cvs server: scheduling file `SOAPEncoding_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8hpp-source.html
  cvs server: scheduling file `SOAPEncoding_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8hpp.html
  cvs server: scheduling file `SOAPEncoding_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8cpp-source.html
  cvs server: scheduling file `SOAPEnvelope_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8cpp.html
  cvs server: scheduling file `SOAPEnvelope_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8hpp-source.html
  cvs server: scheduling file `SOAPEnvelope_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8hpp.html
  cvs server: scheduling file `SOAPEnvelope_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8cpp-source.html
  cvs server: scheduling file `SOAPFaultElement_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8cpp.html
  cvs server: scheduling file `SOAPFaultElement_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8hpp-source.html
  cvs server: scheduling file `SOAPFaultElement_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8hpp.html
  cvs server: scheduling file `SOAPFaultElement_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8cpp-source.html
  cvs server: scheduling file `SOAPHeader_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8cpp.html
  cvs server: scheduling file `SOAPHeader_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8hpp-source.html
  cvs server: scheduling file `SOAPHeader_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8hpp.html
  cvs server: scheduling file `SOAPHeader_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8cpp-source.html
  cvs server: scheduling file `SOAPMessage_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8cpp.html
  cvs server: scheduling file `SOAPMessage_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8hpp-source.html
  cvs server: scheduling file `SOAPMessage_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8hpp.html
  cvs server: scheduling file `SOAPMessage_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8cpp-source.html
  cvs server: scheduling file `SOAPMsgContext_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8cpp.html
  cvs server: scheduling file `SOAPMsgContext_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8hpp-source.html
  cvs server: scheduling file `SOAPMsgContext_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8hpp.html
  cvs server: scheduling file `SOAPMsgContext_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8cpp-source.html
  cvs server: scheduling file `Sender_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8cpp.html
  cvs server: scheduling file `Sender_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8hpp-source.html
  cvs server: scheduling file `Sender_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8hpp.html
  cvs server: scheduling file `Sender_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SerializerFactory_8hpp-source.html
  cvs server: scheduling file `SerializerFactory_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/SerializerFactory_8hpp.html
  cvs server: scheduling file `SerializerFactory_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8cpp-source.html
  cvs server: scheduling file `ServiceFactory_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8cpp.html
  cvs server: scheduling file `ServiceFactory_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8hpp-source.html
  cvs server: scheduling file `ServiceFactory_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8hpp.html
  cvs server: scheduling file `ServiceFactory_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8cpp-source.html
  cvs server: scheduling file `TransportFactory_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8cpp.html
  cvs server: scheduling file `TransportFactory_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8hpp-source.html
  cvs server: scheduling file `TransportFactory_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8hpp.html
  cvs server: scheduling file `TransportFactory_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8cpp-source.html
  cvs server: scheduling file `Transport_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8cpp.html
  cvs server: scheduling file `Transport_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8hpp-source.html
  cvs server: scheduling file `Transport_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8hpp.html
  cvs server: scheduling file `Transport_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8cpp-source.html
  cvs server: scheduling file `TypeMappingRegistry_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8cpp.html
  cvs server: scheduling file `TypeMappingRegistry_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8hpp-source.html
  cvs server: scheduling file `TypeMappingRegistry_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8hpp.html
  cvs server: scheduling file `TypeMappingRegistry_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8cpp-source.html
  cvs server: scheduling file `Url_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8cpp.html
  cvs server: scheduling file `Url_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8hpp-source.html
  cvs server: scheduling file `Url_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8hpp.html
  cvs server: scheduling file `Url_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8cpp-source.html
  cvs server: scheduling file `XMLDeSerializer_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8cpp.html
  cvs server: scheduling file `XMLDeSerializer_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8hpp-source.html
  cvs server: scheduling file `XMLDeSerializer_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8hpp.html
  cvs server: scheduling file `XMLDeSerializer_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8cpp-source.html
  cvs server: scheduling file `XMLSerializer_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8cpp.html
  cvs server: scheduling file `XMLSerializer_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8hpp-source.html
  cvs server: scheduling file `XMLSerializer_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8hpp.html
  cvs server: scheduling file `XMLSerializer_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8cpp-source.html
  cvs server: scheduling file `XMLType_8cpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8cpp.html
  cvs server: scheduling file `XMLType_8cpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8hpp-source.html
  cvs server: scheduling file `XMLType_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8hpp.html
  cvs server: scheduling file `XMLType_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XercescConst_8hpp-source.html
  cvs server: scheduling file `XercescConst_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XercescConst_8hpp.html
  cvs server: scheduling file `XercescConst_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XmlWriter_8hpp-source.html
  cvs server: scheduling file `XmlWriter_8hpp-source.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/XmlWriter_8hpp.html
  cvs server: scheduling file `XmlWriter_8hpp.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/annotated.html
  cvs server: scheduling file `annotated.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAttList-members.html
  cvs server: scheduling file `classAttList-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAttList.html
  cvs server: scheduling file `classAttList.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException-members.html
  cvs server: scheduling file `classAxisException-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException.gif
  cvs server: scheduling file `classAxisException.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException.html
  cvs server: scheduling file `classAxisException.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault-members.html
  cvs server: scheduling file `classAxisFault-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault.gif
  cvs server: scheduling file `classAxisFault.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault.html
  cvs server: scheduling file `classAxisFault.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classCall-members.html
  cvs server: scheduling file `classCall-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classCall.html
  cvs server: scheduling file `classCall.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannel-members.html
  cvs server: scheduling file `classChannel-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannel.html
  cvs server: scheduling file `classChannel.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannelException-members.html
  cvs server: scheduling file `classChannelException-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannelException.html
  cvs server: scheduling file `classChannelException.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classErrorHandler.gif
  cvs server: scheduling file `classErrorHandler.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classErrorHandler.html
  cvs server: scheduling file `classErrorHandler.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport-members.html
  cvs server: scheduling file `classHttpTransport-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport.gif
  cvs server: scheduling file `classHttpTransport.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport.html
  cvs server: scheduling file `classHttpTransport.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement-members.html
  cvs server: scheduling file `classMessageElement-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement.gif
  cvs server: scheduling file `classMessageElement.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement.html
  cvs server: scheduling file `classMessageElement.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap-members.html
  cvs server: scheduling file `classNsMap-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap.gif
  cvs server: scheduling file `classNsMap.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap.html
  cvs server: scheduling file `classNsMap.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap__t.gif
  cvs server: scheduling file `classNsMap__t.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap__t.html
  cvs server: scheduling file `classNsMap__t.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsStack-members.html
  cvs server: scheduling file `classNsStack-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsStack.html
  cvs server: scheduling file `classNsStack.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classParam-members.html
  cvs server: scheduling file `classParam-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classParam.html
  cvs server: scheduling file `classParam.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler-members.html
  cvs server: scheduling file `classParseErrorHandler-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler.gif
  cvs server: scheduling file `classParseErrorHandler.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler.html
  cvs server: scheduling file `classParseErrorHandler.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement-members.html
  cvs server: scheduling file `classRPCElement-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement.gif
  cvs server: scheduling file `classRPCElement.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement.html
  cvs server: scheduling file `classRPCElement.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCParam-members.html
  cvs server: scheduling file `classRPCParam-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCParam.html
  cvs server: scheduling file `classRPCParam.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classReceiver-members.html
  cvs server: scheduling file `classReceiver-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classReceiver.html
  cvs server: scheduling file `classReceiver.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement-members.html
  cvs server: scheduling file `classSOAPBodyElement-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement.gif
  cvs server: scheduling file `classSOAPBodyElement.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement.html
  cvs server: scheduling file `classSOAPBodyElement.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding-members.html
  cvs server: scheduling file `classSOAPEncoding-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding.gif
  cvs server: scheduling file `classSOAPEncoding.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding.html
  cvs server: scheduling file `classSOAPEncoding.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter-members.html
  cvs server: scheduling file `classSOAPEnvelopFormatter-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter.gif
  cvs server: scheduling file `classSOAPEnvelopFormatter.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter.html
  cvs server: scheduling file `classSOAPEnvelopFormatter.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope-members.html
  cvs server: scheduling file `classSOAPEnvelope-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope.gif
  cvs server: scheduling file `classSOAPEnvelope.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope.html
  cvs server: scheduling file `classSOAPEnvelope.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement-members.html
  cvs server: scheduling file `classSOAPFaultElement-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement.gif
  cvs server: scheduling file `classSOAPFaultElement.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement.html
  cvs server: scheduling file `classSOAPFaultElement.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader-members.html
  cvs server: scheduling file `classSOAPHeader-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader.gif
  cvs server: scheduling file `classSOAPHeader.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader.html
  cvs server: scheduling file `classSOAPHeader.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMessage-members.html
  cvs server: scheduling file `classSOAPMessage-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMessage.html
  cvs server: scheduling file `classSOAPMessage.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMsgContext-members.html
  cvs server: scheduling file `classSOAPMsgContext-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMsgContext.html
  cvs server: scheduling file `classSOAPMsgContext.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSender-members.html
  cvs server: scheduling file `classSender-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSender.html
  cvs server: scheduling file `classSender.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory-members.html
  cvs server: scheduling file `classSerializerFactory-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory.gif
  cvs server: scheduling file `classSerializerFactory.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory.html
  cvs server: scheduling file `classSerializerFactory.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classServiceFactory-members.html
  cvs server: scheduling file `classServiceFactory-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classServiceFactory.html
  cvs server: scheduling file `classServiceFactory.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport-members.html
  cvs server: scheduling file `classTransport-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport.gif
  cvs server: scheduling file `classTransport.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport.html
  cvs server: scheduling file `classTransport.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransportFactory-members.html
  cvs server: scheduling file `classTransportFactory-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransportFactory.html
  cvs server: scheduling file `classTransportFactory.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTypeMappingRegistry-members.html
  cvs server: scheduling file `classTypeMappingRegistry-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classTypeMappingRegistry.html
  cvs server: scheduling file `classTypeMappingRegistry.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classUrl-members.html
  cvs server: scheduling file `classUrl-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classUrl.html
  cvs server: scheduling file `classUrl.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLDeSerializer-members.html
  cvs server: scheduling file `classXMLDeSerializer-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLDeSerializer.html
  cvs server: scheduling file `classXMLDeSerializer.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLFormatTarget.gif
  cvs server: scheduling file `classXMLFormatTarget.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLFormatTarget.html
  cvs server: scheduling file `classXMLFormatTarget.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLSerializer-members.html
  cvs server: scheduling file `classXMLSerializer-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLSerializer.html
  cvs server: scheduling file `classXMLSerializer.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXmlWriter.gif
  cvs server: scheduling file `classXmlWriter.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classXmlWriter.html
  cvs server: scheduling file `classXmlWriter.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1QName-members.html
  cvs server: scheduling file `classax_1_1QName-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1QName.html
  cvs server: scheduling file `classax_1_1QName.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1XMLType-members.html
  cvs server: scheduling file `classax_1_1XMLType-members.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1XMLType.html
  cvs server: scheduling file `classax_1_1XMLType.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classes.html
  cvs server: scheduling file `classes.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classstd_1_1ostringstream.gif
  cvs server: scheduling file `classstd_1_1ostringstream.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/classstd_1_1ostringstream.html
  cvs server: scheduling file `classstd_1_1ostringstream.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/doxygen.css
  cvs server: scheduling file `doxygen.css' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/doxygen.gif
  cvs server: scheduling file `doxygen.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/files.html
  cvs server: scheduling file `files.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2blank.gif
  cvs server: scheduling file `ftv2blank.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2doc.gif
  cvs server: scheduling file `ftv2doc.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2folderclosed.gif
  cvs server: scheduling file `ftv2folderclosed.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2folderopen.gif
  cvs server: scheduling file `ftv2folderopen.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2lastnode.gif
  cvs server: scheduling file `ftv2lastnode.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2link.gif
  cvs server: scheduling file `ftv2link.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2mlastnode.gif
  cvs server: scheduling file `ftv2mlastnode.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2mnode.gif
  cvs server: scheduling file `ftv2mnode.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2node.gif
  cvs server: scheduling file `ftv2node.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2plastnode.gif
  cvs server: scheduling file `ftv2plastnode.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2pnode.gif
  cvs server: scheduling file `ftv2pnode.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2vertline.gif
  cvs server: scheduling file `ftv2vertline.gif' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/functions.html
  cvs server: scheduling file `functions.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/globals.html
  cvs server: scheduling file `globals.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/hierarchy.html
  cvs server: scheduling file `hierarchy.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhc
  cvs server: scheduling file `index.hhc' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhk
  cvs server: scheduling file `index.hhk' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhp
  cvs server: scheduling file `index.hhp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/index.html
  cvs server: scheduling file `index.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/main.html
  cvs server: scheduling file `main.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/namespace__ax.html
  cvs server: scheduling file `namespace__ax.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/namespacemembers.html
  cvs server: scheduling file `namespacemembers.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/namespaces.html
  cvs server: scheduling file `namespaces.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/pages.html
  cvs server: scheduling file `pages.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/todo.html
  cvs server: scheduling file `todo.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/tree.html
  cvs server: scheduling file `tree.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/tree.js
  cvs server: scheduling file `tree.js' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/ApiDocs/treeview.js
  cvs server: scheduling file `treeview.js' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/Index.html
  cvs server: scheduling file `Index.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/docs/developers-guide.html
  cvs server: scheduling file `developers-guide.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/doxygen
  ? doxygen/AxisDoc.cfg
  ? doxygen/docFoot.html
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/doxygen added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/doxygen/AxisDoc.cfg
  cvs server: scheduling file `AxisDoc.cfg' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/doxygen/docFoot.html
  cvs server: scheduling file `docFoot.html' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/inc.mk
  cvs server: scheduling file `inc.mk' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include
  ? include/AxisConst.hpp
  ? include/Call.hpp
  ? include/Param.hpp
  ? include/Platform.hpp
  ? include/QName.hpp
  ? include/SerializerFactory.hpp
  ? include/ServiceFactory.hpp
  ? include/XMLType.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/include added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/AxisConst.hpp
  cvs server: scheduling file `AxisConst.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/Call.hpp
  cvs server: scheduling file `Call.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/Param.hpp
  cvs server: scheduling file `Param.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/Platform.hpp
  cvs server: scheduling file `Platform.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/QName.hpp
  cvs server: scheduling file `QName.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/SerializerFactory.hpp
  cvs server: scheduling file `SerializerFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/ServiceFactory.hpp
  cvs server: scheduling file `ServiceFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/include/XMLType.hpp
  cvs server: scheduling file `XMLType.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib
  ? lib/AIX_4.3
  ? lib/Linux
  ? lib/NT_4.0
  ? lib/SunOS_5.6
  ? lib/SunOS_5.7
  ? lib/SunOS_5.8
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/AIX_4.3
  ? AIX_4.3/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/AIX_4.3 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/AIX_4.3/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/Linux
  ? Linux/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/Linux added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/Linux/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/NT_4.0
  ? NT_4.0/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/NT_4.0 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/NT_4.0/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.6
  ? SunOS_5.6/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/SunOS_5.6 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.6/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.7
  ? SunOS_5.7/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/SunOS_5.7 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.7/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.8
  ? SunOS_5.8/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/lib/SunOS_5.8 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/lib/SunOS_5.8/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs
  ? objs/AIX_4.3
  ? objs/Linux
  ? objs/NT_4.0
  ? objs/SunOS_5.6
  ? objs/SunOS_5.7
  ? objs/SunOS_5.8
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/AIX_4.3
  ? AIX_4.3/common
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/AIX_4.3 added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/AIX_4.3/common
  ? common/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/AIX_4.3/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/AIX_4.3/common/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/Linux
  ? Linux/common
  ? Linux/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/Linux added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/Linux/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/Linux/common
  ? common/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/Linux/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/Linux/common/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/NT_4.0
  ? NT_4.0/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/NT_4.0 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/NT_4.0/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.6
  ? SunOS_5.6/common
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.6 added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.6/common
  ? common/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.6/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.6/common/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.7
  ? SunOS_5.7/common
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.7 added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.7/common
  ? common/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.7/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.7/common/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.8
  ? SunOS_5.8/common
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.8 added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.8/common
  ? common/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/objs/SunOS_5.8/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/objs/SunOS_5.8/common/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/platform.mk
  cvs server: scheduling file `platform.mk' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src
  ? src/Client
  ? src/Encoding
  ? src/Makefile
  ? src/Message
  ? src/Platform.cpp
  ? src/Platform.hpp
  ? src/Transport
  ? src/Util
  ? src/Xml
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client
  ? Client/Call.cpp
  ? Client/Call.hpp
  ? Client/Makefile
  ? Client/ServiceFactory.cpp
  ? Client/ServiceFactory.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Client added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client/Call.cpp
  cvs server: scheduling file `Call.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client/Call.hpp
  cvs server: scheduling file `Call.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client/ServiceFactory.cpp
  cvs server: scheduling file `ServiceFactory.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Client/ServiceFactory.hpp
  cvs server: scheduling file `ServiceFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding
  ? Encoding/Makefile
  ? Encoding/Param.cpp
  ? Encoding/Param.hpp
  ? Encoding/SerializerFactory.hpp
  ? Encoding/SOAPEncoding.cpp
  ? Encoding/SOAPEncoding.hpp
  ? Encoding/TypeMappingRegistry.cpp
  ? Encoding/TypeMappingRegistry.hpp
  ? Encoding/XMLType.cpp
  ? Encoding/XMLType.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Encoding added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/Param.cpp
  cvs server: scheduling file `Param.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/Param.hpp
  cvs server: scheduling file `Param.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/SOAPEncoding.cpp
  cvs server: scheduling file `SOAPEncoding.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/SOAPEncoding.hpp
  cvs server: scheduling file `SOAPEncoding.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/SerializerFactory.hpp
  cvs server: scheduling file `SerializerFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/TypeMappingRegistry.cpp
  cvs server: scheduling file `TypeMappingRegistry.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/TypeMappingRegistry.hpp
  cvs server: scheduling file `TypeMappingRegistry.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/XMLType.cpp
  cvs server: scheduling file `XMLType.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Encoding/XMLType.hpp
  cvs server: scheduling file `XMLType.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message
  ? Message/Makefile
  ? Message/MessageElement.cpp
  ? Message/MessageElement.hpp
  ? Message/RPCElement.cpp
  ? Message/RPCElement.hpp
  ? Message/RPCParam.cpp
  ? Message/RPCParam.hpp
  ? Message/SOAPBodyElement.cpp
  ? Message/SOAPBodyElement.hpp
  ? Message/SOAPEnvelope.cpp
  ? Message/SOAPEnvelope.hpp
  ? Message/SOAPFaultElement.cpp
  ? Message/SOAPFaultElement.hpp
  ? Message/SOAPHeader.cpp
  ? Message/SOAPHeader.hpp
  ? Message/SOAPMessage.cpp
  ? Message/SOAPMessage.hpp
  ? Message/SOAPMsgContext.cpp
  ? Message/SOAPMsgContext.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Message added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/MessageElement.cpp
  cvs server: scheduling file `MessageElement.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/MessageElement.hpp
  cvs server: scheduling file `MessageElement.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/RPCElement.cpp
  cvs server: scheduling file `RPCElement.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/RPCElement.hpp
  cvs server: scheduling file `RPCElement.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/RPCParam.cpp
  cvs server: scheduling file `RPCParam.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/RPCParam.hpp
  cvs server: scheduling file `RPCParam.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPBodyElement.cpp
  cvs server: scheduling file `SOAPBodyElement.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPBodyElement.hpp
  cvs server: scheduling file `SOAPBodyElement.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPEnvelope.cpp
  cvs server: scheduling file `SOAPEnvelope.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPEnvelope.hpp
  cvs server: scheduling file `SOAPEnvelope.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPFaultElement.cpp
  cvs server: scheduling file `SOAPFaultElement.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPFaultElement.hpp
  cvs server: scheduling file `SOAPFaultElement.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPHeader.cpp
  cvs server: scheduling file `SOAPHeader.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPHeader.hpp
  cvs server: scheduling file `SOAPHeader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPMessage.cpp
  cvs server: scheduling file `SOAPMessage.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPMessage.hpp
  cvs server: scheduling file `SOAPMessage.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPMsgContext.cpp
  cvs server: scheduling file `SOAPMsgContext.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Message/SOAPMsgContext.hpp
  cvs server: scheduling file `SOAPMsgContext.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Platform.cpp
  cvs server: scheduling file `Platform.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Platform.hpp
  cvs server: scheduling file `Platform.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport
  ? Transport/Channel.cpp
  ? Transport/Channel.hpp
  ? Transport/HttpTransport.cpp
  ? Transport/HttpTransport.hpp
  ? Transport/Makefile
  ? Transport/Receiver.cpp
  ? Transport/Receiver.hpp
  ? Transport/Sender.cpp
  ? Transport/Sender.hpp
  ? Transport/Transport.cpp
  ? Transport/Transport.hpp
  ? Transport/TransportFactory.cpp
  ? Transport/TransportFactory.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Transport added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Channel.cpp
  cvs server: scheduling file `Channel.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Channel.hpp
  cvs server: scheduling file `Channel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/HttpTransport.cpp
  cvs server: scheduling file `HttpTransport.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/HttpTransport.hpp
  cvs server: scheduling file `HttpTransport.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Receiver.cpp
  cvs server: scheduling file `Receiver.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Receiver.hpp
  cvs server: scheduling file `Receiver.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Sender.cpp
  cvs server: scheduling file `Sender.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Sender.hpp
  cvs server: scheduling file `Sender.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Transport.cpp
  cvs server: scheduling file `Transport.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/Transport.hpp
  cvs server: scheduling file `Transport.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/TransportFactory.cpp
  cvs server: scheduling file `TransportFactory.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Transport/TransportFactory.hpp
  cvs server: scheduling file `TransportFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util
  ? Util/AttList.hpp
  ? Util/AxisConst.hpp
  ? Util/AxisException.cpp
  ? Util/AxisException.hpp
  ? Util/Makefile
  ? Util/NsStack.cpp
  ? Util/NsStack.hpp
  ? Util/QName.cpp
  ? Util/QName.hpp
  ? Util/Url.cpp
  ? Util/Url.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Util added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/AttList.hpp
  cvs server: scheduling file `AttList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/AxisConst.hpp
  cvs server: scheduling file `AxisConst.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/AxisException.cpp
  cvs server: scheduling file `AxisException.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/AxisException.hpp
  cvs server: scheduling file `AxisException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/NsStack.cpp
  cvs server: scheduling file `NsStack.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/NsStack.hpp
  cvs server: scheduling file `NsStack.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/QName.cpp
  cvs server: scheduling file `QName.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/QName.hpp
  cvs server: scheduling file `QName.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/Url.cpp
  cvs server: scheduling file `Url.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Util/Url.hpp
  cvs server: scheduling file `Url.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml
  ? Xml/Makefile
  ? Xml/XercescConst.hpp
  ? Xml/XMLDeSerializer.cpp
  ? Xml/XMLDeSerializer.hpp
  ? Xml/XMLSerializer.cpp
  ? Xml/XMLSerializer.hpp
  ? Xml/XmlWriter.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/src/Xml added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/Makefile
  cvs server: scheduling file `Makefile' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XMLDeSerializer.cpp
  cvs server: scheduling file `XMLDeSerializer.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XMLDeSerializer.hpp
  cvs server: scheduling file `XMLDeSerializer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XMLSerializer.cpp
  cvs server: scheduling file `XMLSerializer.cpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XMLSerializer.hpp
  cvs server: scheduling file `XMLSerializer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XercescConst.hpp
  cvs server: scheduling file `XercescConst.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/src/Xml/XmlWriter.hpp
  cvs server: scheduling file `XmlWriter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c
  ? xerces-c/bin
  ? xerces-c/include
  ? xerces-c/lib
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/bin
  ? bin/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/bin added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/bin/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include
  ? include/dom
  ? include/framework
  ? include/idom
  ? include/internal
  ? include/parsers
  ? include/ReadMe.txt
  ? include/sax
  ? include/sax2
  ? include/util
  ? include/validators
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom
  ? dom/ChildNode.hpp
  ? dom/DOM.hpp
  ? dom/DomMemDebug.hpp
  ? dom/DOMString.hpp
  ? dom/DOM_Attr.hpp
  ? dom/DOM_CDATASection.hpp
  ? dom/DOM_CharacterData.hpp
  ? dom/DOM_Comment.hpp
  ? dom/DOM_Document.hpp
  ? dom/DOM_DocumentFragment.hpp
  ? dom/DOM_DocumentType.hpp
  ? dom/DOM_DOMException.hpp
  ? dom/DOM_DOMImplementation.hpp
  ? dom/DOM_Element.hpp
  ? dom/DOM_Entity.hpp
  ? dom/DOM_EntityReference.hpp
  ? dom/DOM_NamedNodeMap.hpp
  ? dom/DOM_Node.hpp
  ? dom/DOM_NodeFilter.hpp
  ? dom/DOM_NodeIterator.hpp
  ? dom/DOM_NodeList.hpp
  ? dom/DOM_Notation.hpp
  ? dom/DOM_ProcessingInstruction.hpp
  ? dom/DOM_Range.hpp
  ? dom/DOM_RangeException.hpp
  ? dom/DOM_Text.hpp
  ? dom/DOM_TreeWalker.hpp
  ? dom/DOM_XMLDecl.hpp
  ? dom/MemDebug.hpp
  ? dom/NameNodeFilter.hpp
  ? dom/NodeIDMap.hpp
  ? dom/NodeVector.hpp
  ? dom/ParentNode.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/dom added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/ChildNode.hpp
  cvs server: scheduling file `ChildNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM.hpp
  cvs server: scheduling file `DOM.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOMString.hpp
  cvs server: scheduling file `DOMString.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Attr.hpp
  cvs server: scheduling file `DOM_Attr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_CDATASection.hpp
  cvs server: scheduling file `DOM_CDATASection.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_CharacterData.hpp
  cvs server: scheduling file `DOM_CharacterData.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Comment.hpp
  cvs server: scheduling file `DOM_Comment.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DOMException.hpp
  cvs server: scheduling file `DOM_DOMException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DOMImplementation.hpp
  cvs server: scheduling file `DOM_DOMImplementation.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Document.hpp
  cvs server: scheduling file `DOM_Document.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DocumentFragment.hpp
  cvs server: scheduling file `DOM_DocumentFragment.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DocumentType.hpp
  cvs server: scheduling file `DOM_DocumentType.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Element.hpp
  cvs server: scheduling file `DOM_Element.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Entity.hpp
  cvs server: scheduling file `DOM_Entity.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_EntityReference.hpp
  cvs server: scheduling file `DOM_EntityReference.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NamedNodeMap.hpp
  cvs server: scheduling file `DOM_NamedNodeMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Node.hpp
  cvs server: scheduling file `DOM_Node.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeFilter.hpp
  cvs server: scheduling file `DOM_NodeFilter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeIterator.hpp
  cvs server: scheduling file `DOM_NodeIterator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeList.hpp
  cvs server: scheduling file `DOM_NodeList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Notation.hpp
  cvs server: scheduling file `DOM_Notation.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_ProcessingInstruction.hpp
  cvs server: scheduling file `DOM_ProcessingInstruction.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Range.hpp
  cvs server: scheduling file `DOM_Range.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_RangeException.hpp
  cvs server: scheduling file `DOM_RangeException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Text.hpp
  cvs server: scheduling file `DOM_Text.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_TreeWalker.hpp
  cvs server: scheduling file `DOM_TreeWalker.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_XMLDecl.hpp
  cvs server: scheduling file `DOM_XMLDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/DomMemDebug.hpp
  cvs server: scheduling file `DomMemDebug.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/MemDebug.hpp
  cvs server: scheduling file `MemDebug.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/NameNodeFilter.hpp
  cvs server: scheduling file `NameNodeFilter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/NodeIDMap.hpp
  cvs server: scheduling file `NodeIDMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/NodeVector.hpp
  cvs server: scheduling file `NodeVector.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/dom/ParentNode.hpp
  cvs server: scheduling file `ParentNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework
  ? framework/LocalFileInputSource.hpp
  ? framework/MemBufInputSource.hpp
  ? framework/StdInInputSource.hpp
  ? framework/URLInputSource.hpp
  ? framework/XMLAttDef.hpp
  ? framework/XMLAttDefList.hpp
  ? framework/XMLAttr.hpp
  ? framework/XMLBuffer.hpp
  ? framework/XMLBufferMgr.hpp
  ? framework/XMLContentModel.hpp
  ? framework/XMLDocumentHandler.hpp
  ? framework/XMLElementDecl.hpp
  ? framework/XMLEntityDecl.hpp
  ? framework/XMLEntityHandler.hpp
  ? framework/XMLErrorCodes.hpp
  ? framework/XMLErrorReporter.hpp
  ? framework/XMLFormatter.hpp
  ? framework/XMLNotationDecl.hpp
  ? framework/XMLPScanToken.hpp
  ? framework/XMLRecognizer.hpp
  ? framework/XMLRefInfo.hpp
  ? framework/XMLValidator.hpp
  ? framework/XMLValidityCodes.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/framework added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/LocalFileInputSource.hpp
  cvs server: scheduling file `LocalFileInputSource.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/MemBufInputSource.hpp
  cvs server: scheduling file `MemBufInputSource.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/StdInInputSource.hpp
  cvs server: scheduling file `StdInInputSource.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/URLInputSource.hpp
  cvs server: scheduling file `URLInputSource.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttDef.hpp
  cvs server: scheduling file `XMLAttDef.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttDefList.hpp
  cvs server: scheduling file `XMLAttDefList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttr.hpp
  cvs server: scheduling file `XMLAttr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLBuffer.hpp
  cvs server: scheduling file `XMLBuffer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLBufferMgr.hpp
  cvs server: scheduling file `XMLBufferMgr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLContentModel.hpp
  cvs server: scheduling file `XMLContentModel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLDocumentHandler.hpp
  cvs server: scheduling file `XMLDocumentHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLElementDecl.hpp
  cvs server: scheduling file `XMLElementDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLEntityDecl.hpp
  cvs server: scheduling file `XMLEntityDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLEntityHandler.hpp
  cvs server: scheduling file `XMLEntityHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLErrorCodes.hpp
  cvs server: scheduling file `XMLErrorCodes.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLErrorReporter.hpp
  cvs server: scheduling file `XMLErrorReporter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLFormatter.hpp
  cvs server: scheduling file `XMLFormatter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLNotationDecl.hpp
  cvs server: scheduling file `XMLNotationDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLPScanToken.hpp
  cvs server: scheduling file `XMLPScanToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLRecognizer.hpp
  cvs server: scheduling file `XMLRecognizer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLRefInfo.hpp
  cvs server: scheduling file `XMLRefInfo.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLValidator.hpp
  cvs server: scheduling file `XMLValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLValidityCodes.hpp
  cvs server: scheduling file `XMLValidityCodes.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom
  ? idom/IDCasts.hpp
  ? idom/IDChildNode.hpp
  ? idom/IDDeepNodeListPool.c
  ? idom/IDDeepNodeListPool.hpp
  ? idom/IDDOMImplementation.hpp
  ? idom/IDNodeIDMap.hpp
  ? idom/IDNodeVector.hpp
  ? idom/IDOM.hpp
  ? idom/IDOM_Attr.hpp
  ? idom/IDOM_CDATASection.hpp
  ? idom/IDOM_CharacterData.hpp
  ? idom/IDOM_Comment.hpp
  ? idom/IDOM_Document.hpp
  ? idom/IDOM_DocumentFragment.hpp
  ? idom/IDOM_DocumentType.hpp
  ? idom/IDOM_DOMException.hpp
  ? idom/IDOM_DOMImplementation.hpp
  ? idom/IDOM_Element.hpp
  ? idom/IDOM_Entity.hpp
  ? idom/IDOM_EntityReference.hpp
  ? idom/IDOM_NamedNodeMap.hpp
  ? idom/IDOM_Node.hpp
  ? idom/IDOM_NodeFilter.hpp
  ? idom/IDOM_NodeIterator.hpp
  ? idom/IDOM_NodeList.hpp
  ? idom/IDOM_Notation.hpp
  ? idom/IDOM_ProcessingInstruction.hpp
  ? idom/IDOM_Range.hpp
  ? idom/IDOM_RangeException.hpp
  ? idom/IDOM_Text.hpp
  ? idom/IDOM_TreeWalker.hpp
  ? idom/IDParentNode.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/idom added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDCasts.hpp
  cvs server: scheduling file `IDCasts.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDChildNode.hpp
  cvs server: scheduling file `IDChildNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDOMImplementation.hpp
  cvs server: scheduling file `IDDOMImplementation.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDeepNodeListPool.c
  cvs server: scheduling file `IDDeepNodeListPool.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDeepNodeListPool.hpp
  cvs server: scheduling file `IDDeepNodeListPool.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDNodeIDMap.hpp
  cvs server: scheduling file `IDNodeIDMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDNodeVector.hpp
  cvs server: scheduling file `IDNodeVector.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM.hpp
  cvs server: scheduling file `IDOM.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Attr.hpp
  cvs server: scheduling file `IDOM_Attr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_CDATASection.hpp
  cvs server: scheduling file `IDOM_CDATASection.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_CharacterData.hpp
  cvs server: scheduling file `IDOM_CharacterData.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Comment.hpp
  cvs server: scheduling file `IDOM_Comment.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DOMException.hpp
  cvs server: scheduling file `IDOM_DOMException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DOMImplementation.hpp
  cvs server: scheduling file `IDOM_DOMImplementation.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Document.hpp
  cvs server: scheduling file `IDOM_Document.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DocumentFragment.hpp
  cvs server: scheduling file `IDOM_DocumentFragment.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DocumentType.hpp
  cvs server: scheduling file `IDOM_DocumentType.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Element.hpp
  cvs server: scheduling file `IDOM_Element.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Entity.hpp
  cvs server: scheduling file `IDOM_Entity.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_EntityReference.hpp
  cvs server: scheduling file `IDOM_EntityReference.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NamedNodeMap.hpp
  cvs server: scheduling file `IDOM_NamedNodeMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Node.hpp
  cvs server: scheduling file `IDOM_Node.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeFilter.hpp
  cvs server: scheduling file `IDOM_NodeFilter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeIterator.hpp
  cvs server: scheduling file `IDOM_NodeIterator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeList.hpp
  cvs server: scheduling file `IDOM_NodeList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Notation.hpp
  cvs server: scheduling file `IDOM_Notation.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_ProcessingInstruction.hpp
  cvs server: scheduling file `IDOM_ProcessingInstruction.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Range.hpp
  cvs server: scheduling file `IDOM_Range.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_RangeException.hpp
  cvs server: scheduling file `IDOM_RangeException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Text.hpp
  cvs server: scheduling file `IDOM_Text.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_TreeWalker.hpp
  cvs server: scheduling file `IDOM_TreeWalker.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDParentNode.hpp
  cvs server: scheduling file `IDParentNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal
  ? internal/CharTypeTables.hpp
  ? internal/ElemStack.hpp
  ? internal/EndOfEntityException.hpp
  ? internal/ReaderMgr.hpp
  ? internal/VecAttributesImpl.hpp
  ? internal/VecAttrListImpl.hpp
  ? internal/XMLInternalErrorHandler.hpp
  ? internal/XMLReader.hpp
  ? internal/XMLScanner.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/internal added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/CharTypeTables.hpp
  cvs server: scheduling file `CharTypeTables.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/ElemStack.hpp
  cvs server: scheduling file `ElemStack.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/EndOfEntityException.hpp
  cvs server: scheduling file `EndOfEntityException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/ReaderMgr.hpp
  cvs server: scheduling file `ReaderMgr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/VecAttrListImpl.hpp
  cvs server: scheduling file `VecAttrListImpl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/VecAttributesImpl.hpp
  cvs server: scheduling file `VecAttributesImpl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLInternalErrorHandler.hpp
  cvs server: scheduling file `XMLInternalErrorHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLReader.hpp
  cvs server: scheduling file `XMLReader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLScanner.hpp
  cvs server: scheduling file `XMLScanner.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/parsers
  ? parsers/DOMParser.hpp
  ? parsers/IDOMParser.hpp
  ? parsers/SAX2XMLReaderImpl.hpp
  ? parsers/SAXParser.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/parsers added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/parsers/DOMParser.hpp
  cvs server: scheduling file `DOMParser.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/parsers/IDOMParser.hpp
  cvs server: scheduling file `IDOMParser.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/parsers/SAX2XMLReaderImpl.hpp
  cvs server: scheduling file `SAX2XMLReaderImpl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/parsers/SAXParser.hpp
  cvs server: scheduling file `SAXParser.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax
  ? sax/AttributeList.hpp
  ? sax/DocumentHandler.hpp
  ? sax/DTDHandler.hpp
  ? sax/EntityResolver.hpp
  ? sax/ErrorHandler.hpp
  ? sax/HandlerBase.hpp
  ? sax/InputSource.hpp
  ? sax/Locator.hpp
  ? sax/Parser.hpp
  ? sax/SAXException.hpp
  ? sax/SAXParseException.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/sax added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/AttributeList.hpp
  cvs server: scheduling file `AttributeList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/DTDHandler.hpp
  cvs server: scheduling file `DTDHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/DocumentHandler.hpp
  cvs server: scheduling file `DocumentHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/EntityResolver.hpp
  cvs server: scheduling file `EntityResolver.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/ErrorHandler.hpp
  cvs server: scheduling file `ErrorHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/HandlerBase.hpp
  cvs server: scheduling file `HandlerBase.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/InputSource.hpp
  cvs server: scheduling file `InputSource.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/Locator.hpp
  cvs server: scheduling file `Locator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/Parser.hpp
  cvs server: scheduling file `Parser.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/SAXException.hpp
  cvs server: scheduling file `SAXException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax/SAXParseException.hpp
  cvs server: scheduling file `SAXParseException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2
  ? sax2/Attributes.hpp
  ? sax2/ContentHandler.hpp
  ? sax2/DefaultHandler.hpp
  ? sax2/LexicalHandler.hpp
  ? sax2/SAX2XMLReader.hpp
  ? sax2/XMLReaderFactory.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/sax2 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/Attributes.hpp
  cvs server: scheduling file `Attributes.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/ContentHandler.hpp
  cvs server: scheduling file `ContentHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/DefaultHandler.hpp
  cvs server: scheduling file `DefaultHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/LexicalHandler.hpp
  cvs server: scheduling file `LexicalHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/SAX2XMLReader.hpp
  cvs server: scheduling file `SAX2XMLReader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/sax2/XMLReaderFactory.hpp
  cvs server: scheduling file `XMLReaderFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util
  ? util/ArrayIndexOutOfBoundsException.hpp
  ? util/AutoSense.hpp
  ? util/Base64.hpp
  ? util/BinFileInputStream.hpp
  ? util/BinInputStream.hpp
  ? util/BinMemInputStream.hpp
  ? util/BitOps.hpp
  ? util/BitSet.hpp
  ? util/Compilers
  ? util/CountedPointer.c
  ? util/CountedPointer.hpp
  ? util/EmptyStackException.hpp
  ? util/FlagJanitor.c
  ? util/FlagJanitor.hpp
  ? util/HashBase.hpp
  ? util/HashCMStateSet.hpp
  ? util/HashPtr.hpp
  ? util/HashXMLCh.hpp
  ? util/HexBin.hpp
  ? util/IllegalArgumentException.hpp
  ? util/InvalidCastException.hpp
  ? util/IOException.hpp
  ? util/Janitor.c
  ? util/Janitor.hpp
  ? util/KeyValuePair.c
  ? util/KeyValuePair.hpp
  ? util/KVStringPair.hpp
  ? util/MsgLoaders
  ? util/Mutexes.hpp
  ? util/NameIdPool.c
  ? util/NameIdPool.hpp
  ? util/NoDefTranscoderException.hpp
  ? util/NoSuchElementException.hpp
  ? util/NullPointerException.hpp
  ? util/NumberFormatException.hpp
  ? util/ParseException.hpp
  ? util/Platforms
  ? util/PlatformUtils.hpp
  ? util/QName.hpp
  ? util/RefArrayOf.c
  ? util/RefArrayOf.hpp
  ? util/RefHash2KeysTableOf.c
  ? util/RefHash2KeysTableOf.hpp
  ? util/RefHash3KeysIdPool.c
  ? util/RefHash3KeysIdPool.hpp
  ? util/RefHashTableOf.c
  ? util/RefHashTableOf.hpp
  ? util/RefStackOf.c
  ? util/RefStackOf.hpp
  ? util/RefVectorOf.c
  ? util/RefVectorOf.hpp
  ? util/regx
  ? util/RuntimeException.hpp
  ? util/StringPool.hpp
  ? util/Transcoders
  ? util/TranscodingException.hpp
  ? util/TransENameMap.c
  ? util/TransENameMap.hpp
  ? util/TransService.hpp
  ? util/UnexpectedEOFException.hpp
  ? util/UnsupportedEncodingException.hpp
  ? util/UTFDataFormatException.hpp
  ? util/ValueArrayOf.c
  ? util/ValueArrayOf.hpp
  ? util/ValueStackOf.c
  ? util/ValueStackOf.hpp
  ? util/ValueVectorOf.c
  ? util/ValueVectorOf.hpp
  ? util/XercesDefs.hpp
  ? util/XML256TableTranscoder.hpp
  ? util/XML88591Transcoder.hpp
  ? util/XMLASCIITranscoder.hpp
  ? util/XMLBigDecimal.hpp
  ? util/XMLBigInteger.hpp
  ? util/XMLChTranscoder.hpp
  ? util/XMLDeleterFor.c
  ? util/XMLDeleterFor.hpp
  ? util/XMLDouble.hpp
  ? util/XMLEBCDICTranscoder.hpp
  ? util/XMLEnumerator.hpp
  ? util/XMLException.hpp
  ? util/XMLExceptMsgs.hpp
  ? util/XMLFloat.hpp
  ? util/XMLIBM1140Transcoder.hpp
  ? util/XMLInteger.hpp
  ? util/XMLMsgLoader.hpp
  ? util/XMLNetAccessor.hpp
  ? util/XMLNumber.hpp
  ? util/XMLRegisterCleanup.hpp
  ? util/XMLString.hpp
  ? util/XMLStringTokenizer.hpp
  ? util/XMLUCS4Transcoder.hpp
  ? util/XMLUni.hpp
  ? util/XMLUniDefs.hpp
  ? util/XMLUri.hpp
  ? util/XMLURL.hpp
  ? util/XMLUTF16Transcoder.hpp
  ? util/XMLUTF8Transcoder.hpp
  ? util/XMLWin1252Transcoder.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ArrayIndexOutOfBoundsException.hpp
  cvs server: scheduling file `ArrayIndexOutOfBoundsException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/AutoSense.hpp
  cvs server: scheduling file `AutoSense.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Base64.hpp
  cvs server: scheduling file `Base64.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/BinFileInputStream.hpp
  cvs server: scheduling file `BinFileInputStream.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/BinInputStream.hpp
  cvs server: scheduling file `BinInputStream.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/BinMemInputStream.hpp
  cvs server: scheduling file `BinMemInputStream.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/BitOps.hpp
  cvs server: scheduling file `BitOps.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/BitSet.hpp
  cvs server: scheduling file `BitSet.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers
  ? Compilers/BorlandCDefs.hpp
  ? Compilers/CodeWarriorDefs.hpp
  ? Compilers/CSetDefs.hpp
  ? Compilers/DECCXXDefs.hpp
  ? Compilers/GCCDefs.hpp
  ? Compilers/HPCCDefs.hpp
  ? Compilers/IBMVAOS2Defs.hpp
  ? Compilers/IBMVAW32Defs.hpp
  ? Compilers/MIPSproDefs.hpp
  ? Compilers/MVSCPPDefs.hpp
  ? Compilers/OS400SetDefs.hpp
  ? Compilers/PTXCCDefs.hpp
  ? Compilers/SCOCCDefs.hpp
  ? Compilers/SunCCDefs.hpp
  ? Compilers/SunKaiDefs.hpp
  ? Compilers/TandemCCDefs.hpp
  ? Compilers/VCPPDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/BorlandCDefs.hpp
  cvs server: scheduling file `BorlandCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/CSetDefs.hpp
  cvs server: scheduling file `CSetDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/CodeWarriorDefs.hpp
  cvs server: scheduling file `CodeWarriorDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/DECCXXDefs.hpp
  cvs server: scheduling file `DECCXXDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/GCCDefs.hpp
  cvs server: scheduling file `GCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/HPCCDefs.hpp
  cvs server: scheduling file `HPCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/IBMVAOS2Defs.hpp
  cvs server: scheduling file `IBMVAOS2Defs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/IBMVAW32Defs.hpp
  cvs server: scheduling file `IBMVAW32Defs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/MIPSproDefs.hpp
  cvs server: scheduling file `MIPSproDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/MVSCPPDefs.hpp
  cvs server: scheduling file `MVSCPPDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/OS400SetDefs.hpp
  cvs server: scheduling file `OS400SetDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/PTXCCDefs.hpp
  cvs server: scheduling file `PTXCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SCOCCDefs.hpp
  cvs server: scheduling file `SCOCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SunCCDefs.hpp
  cvs server: scheduling file `SunCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SunKaiDefs.hpp
  cvs server: scheduling file `SunKaiDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/TandemCCDefs.hpp
  cvs server: scheduling file `TandemCCDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/VCPPDefs.hpp
  cvs server: scheduling file `VCPPDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/CountedPointer.c
  cvs server: scheduling file `CountedPointer.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/CountedPointer.hpp
  cvs server: scheduling file `CountedPointer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/EmptyStackException.hpp
  cvs server: scheduling file `EmptyStackException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/FlagJanitor.c
  cvs server: scheduling file `FlagJanitor.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/FlagJanitor.hpp
  cvs server: scheduling file `FlagJanitor.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/HashBase.hpp
  cvs server: scheduling file `HashBase.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/HashCMStateSet.hpp
  cvs server: scheduling file `HashCMStateSet.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/HashPtr.hpp
  cvs server: scheduling file `HashPtr.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/HashXMLCh.hpp
  cvs server: scheduling file `HashXMLCh.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/HexBin.hpp
  cvs server: scheduling file `HexBin.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/IOException.hpp
  cvs server: scheduling file `IOException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/IllegalArgumentException.hpp
  cvs server: scheduling file `IllegalArgumentException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/InvalidCastException.hpp
  cvs server: scheduling file `InvalidCastException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Janitor.c
  cvs server: scheduling file `Janitor.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Janitor.hpp
  cvs server: scheduling file `Janitor.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/KVStringPair.hpp
  cvs server: scheduling file `KVStringPair.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/KeyValuePair.c
  cvs server: scheduling file `KeyValuePair.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/KeyValuePair.hpp
  cvs server: scheduling file `KeyValuePair.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders
  ? MsgLoaders/ICU
  ? MsgLoaders/InMemory
  ? MsgLoaders/MsgCatalog
  ? MsgLoaders/Win32
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
  ? ICU/ICUMsgLoader.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU/ICUMsgLoader.hpp
  cvs server: scheduling file `ICUMsgLoader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
  ? InMemory/CppErrMsgs_EN_US.hpp
  ? InMemory/InMemMsgLoader.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory/CppErrMsgs_EN_US.hpp
  cvs server: scheduling file `CppErrMsgs_EN_US.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
  cvs server: scheduling file `InMemMsgLoader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
  ? MsgCatalog/MsgCatalogLoader.hpp
  ? MsgCatalog/XMLMsgCat_Ids.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
  cvs server: scheduling file `MsgCatalogLoader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog/XMLMsgCat_Ids.hpp
  cvs server: scheduling file `XMLMsgCat_Ids.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
  ? Win32/Win32MsgLoader.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32/Win32MsgLoader.hpp
  cvs server: scheduling file `Win32MsgLoader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Mutexes.hpp
  cvs server: scheduling file `Mutexes.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NameIdPool.c
  cvs server: scheduling file `NameIdPool.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NameIdPool.hpp
  cvs server: scheduling file `NameIdPool.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NoDefTranscoderException.hpp
  cvs server: scheduling file `NoDefTranscoderException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NoSuchElementException.hpp
  cvs server: scheduling file `NoSuchElementException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NullPointerException.hpp
  cvs server: scheduling file `NullPointerException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/NumberFormatException.hpp
  cvs server: scheduling file `NumberFormatException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ParseException.hpp
  cvs server: scheduling file `ParseException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/PlatformUtils.hpp
  cvs server: scheduling file `PlatformUtils.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms
  ? Platforms/AIX
  ? Platforms/HPUX
  ? Platforms/Linux
  ? Platforms/MacOS
  ? Platforms/OS2
  ? Platforms/OS390
  ? Platforms/PTX
  ? Platforms/Solaris
  ? Platforms/Tandem
  ? Platforms/Win32
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
  ? AIX/AIXDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/AIX added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/AIX/AIXDefs.hpp
  cvs server: scheduling file `AIXDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
  ? HPUX/HPUXDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX/HPUXDefs.hpp
  cvs server: scheduling file `HPUXDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
  ? Linux/LinuxDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Linux added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Linux/LinuxDefs.hpp
  cvs server: scheduling file `LinuxDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
  ? MacOS/MacOSDefs.hpp
  ? MacOS/MacOSPlatformUtils.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS/MacOSDefs.hpp
  cvs server: scheduling file `MacOSDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS/MacOSPlatformUtils.hpp
  cvs server: scheduling file `MacOSPlatformUtils.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
  ? OS2/OS2Defs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS2 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS2/OS2Defs.hpp
  cvs server: scheduling file `OS2Defs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
  ? OS390/OS390Defs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS390 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS390/OS390Defs.hpp
  cvs server: scheduling file `OS390Defs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
  ? PTX/PTXDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/PTX added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/PTX/PTXDefs.hpp
  cvs server: scheduling file `PTXDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
  ? Solaris/SolarisDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris/SolarisDefs.hpp
  cvs server: scheduling file `SolarisDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
  ? Tandem/TandemDefs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem/TandemDefs.hpp
  cvs server: scheduling file `TandemDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
  ? Win32/Win32Defs.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Win32 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Win32/Win32Defs.hpp
  cvs server: scheduling file `Win32Defs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/QName.hpp
  cvs server: scheduling file `QName.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefArrayOf.c
  cvs server: scheduling file `RefArrayOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefArrayOf.hpp
  cvs server: scheduling file `RefArrayOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash2KeysTableOf.c
  cvs server: scheduling file `RefHash2KeysTableOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash2KeysTableOf.hpp
  cvs server: scheduling file `RefHash2KeysTableOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash3KeysIdPool.c
  cvs server: scheduling file `RefHash3KeysIdPool.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash3KeysIdPool.hpp
  cvs server: scheduling file `RefHash3KeysIdPool.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHashTableOf.c
  cvs server: scheduling file `RefHashTableOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHashTableOf.hpp
  cvs server: scheduling file `RefHashTableOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefStackOf.c
  cvs server: scheduling file `RefStackOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefStackOf.hpp
  cvs server: scheduling file `RefStackOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefVectorOf.c
  cvs server: scheduling file `RefVectorOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RefVectorOf.hpp
  cvs server: scheduling file `RefVectorOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/RuntimeException.hpp
  cvs server: scheduling file `RuntimeException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/StringPool.hpp
  cvs server: scheduling file `StringPool.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/TransENameMap.c
  cvs server: scheduling file `TransENameMap.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/TransENameMap.hpp
  cvs server: scheduling file `TransENameMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/TransService.hpp
  cvs server: scheduling file `TransService.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders
  ? Transcoders/Iconv
  ? Transcoders/ICU
  ? Transcoders/Win32
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
  ? ICU/ICUTransService.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU/ICUTransService.hpp
  cvs server: scheduling file `ICUTransService.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
  ? Iconv/IconvTransService.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv/IconvTransService.hpp
  cvs server: scheduling file `IconvTransService.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
  ? Win32/Win32TransService.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32 added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32/Win32TransService.hpp
  cvs server: scheduling file `Win32TransService.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/TranscodingException.hpp
  cvs server: scheduling file `TranscodingException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/UTFDataFormatException.hpp
  cvs server: scheduling file `UTFDataFormatException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/UnexpectedEOFException.hpp
  cvs server: scheduling file `UnexpectedEOFException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/UnsupportedEncodingException.hpp
  cvs server: scheduling file `UnsupportedEncodingException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueArrayOf.c
  cvs server: scheduling file `ValueArrayOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueArrayOf.hpp
  cvs server: scheduling file `ValueArrayOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueStackOf.c
  cvs server: scheduling file `ValueStackOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueStackOf.hpp
  cvs server: scheduling file `ValueStackOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueVectorOf.c
  cvs server: scheduling file `ValueVectorOf.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueVectorOf.hpp
  cvs server: scheduling file `ValueVectorOf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XML256TableTranscoder.hpp
  cvs server: scheduling file `XML256TableTranscoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XML88591Transcoder.hpp
  cvs server: scheduling file `XML88591Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLASCIITranscoder.hpp
  cvs server: scheduling file `XMLASCIITranscoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLBigDecimal.hpp
  cvs server: scheduling file `XMLBigDecimal.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLBigInteger.hpp
  cvs server: scheduling file `XMLBigInteger.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLChTranscoder.hpp
  cvs server: scheduling file `XMLChTranscoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDeleterFor.c
  cvs server: scheduling file `XMLDeleterFor.c' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDeleterFor.hpp
  cvs server: scheduling file `XMLDeleterFor.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDouble.hpp
  cvs server: scheduling file `XMLDouble.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLEBCDICTranscoder.hpp
  cvs server: scheduling file `XMLEBCDICTranscoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLEnumerator.hpp
  cvs server: scheduling file `XMLEnumerator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLExceptMsgs.hpp
  cvs server: scheduling file `XMLExceptMsgs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLException.hpp
  cvs server: scheduling file `XMLException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLFloat.hpp
  cvs server: scheduling file `XMLFloat.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLIBM1140Transcoder.hpp
  cvs server: scheduling file `XMLIBM1140Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLInteger.hpp
  cvs server: scheduling file `XMLInteger.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLMsgLoader.hpp
  cvs server: scheduling file `XMLMsgLoader.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLNetAccessor.hpp
  cvs server: scheduling file `XMLNetAccessor.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLNumber.hpp
  cvs server: scheduling file `XMLNumber.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLRegisterCleanup.hpp
  cvs server: scheduling file `XMLRegisterCleanup.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLString.hpp
  cvs server: scheduling file `XMLString.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLStringTokenizer.hpp
  cvs server: scheduling file `XMLStringTokenizer.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUCS4Transcoder.hpp
  cvs server: scheduling file `XMLUCS4Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLURL.hpp
  cvs server: scheduling file `XMLURL.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUTF16Transcoder.hpp
  cvs server: scheduling file `XMLUTF16Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUTF8Transcoder.hpp
  cvs server: scheduling file `XMLUTF8Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUni.hpp
  cvs server: scheduling file `XMLUni.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUniDefs.hpp
  cvs server: scheduling file `XMLUniDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUri.hpp
  cvs server: scheduling file `XMLUri.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLWin1252Transcoder.hpp
  cvs server: scheduling file `XMLWin1252Transcoder.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/XercesDefs.hpp
  cvs server: scheduling file `XercesDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx
  ? regx/ASCIIRangeFactory.hpp
  ? regx/BlockRangeFactory.hpp
  ? regx/BMPattern.hpp
  ? regx/CharToken.hpp
  ? regx/ClosureToken.hpp
  ? regx/ConcatToken.hpp
  ? regx/ConditionToken.hpp
  ? regx/Match.hpp
  ? regx/ModifierToken.hpp
  ? regx/Op.hpp
  ? regx/OpFactory.hpp
  ? regx/ParenToken.hpp
  ? regx/ParserForXMLSchema.hpp
  ? regx/RangeFactory.hpp
  ? regx/RangeToken.hpp
  ? regx/RangeTokenMap.hpp
  ? regx/RegularExpression.hpp
  ? regx/RegxDefs.hpp
  ? regx/RegxParser.hpp
  ? regx/RegxUtil.hpp
  ? regx/StringToken.hpp
  ? regx/Token.hpp
  ? regx/TokenFactory.hpp
  ? regx/TokenInc.hpp
  ? regx/UniCharTable.hpp
  ? regx/UnicodeRangeFactory.hpp
  ? regx/UnionToken.hpp
  ? regx/XMLRangeFactory.hpp
  ? regx/XMLUniCharacter.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ASCIIRangeFactory.hpp
  cvs server: scheduling file `ASCIIRangeFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/BMPattern.hpp
  cvs server: scheduling file `BMPattern.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/BlockRangeFactory.hpp
  cvs server: scheduling file `BlockRangeFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/CharToken.hpp
  cvs server: scheduling file `CharToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ClosureToken.hpp
  cvs server: scheduling file `ClosureToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ConcatToken.hpp
  cvs server: scheduling file `ConcatToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ConditionToken.hpp
  cvs server: scheduling file `ConditionToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Match.hpp
  cvs server: scheduling file `Match.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ModifierToken.hpp
  cvs server: scheduling file `ModifierToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Op.hpp
  cvs server: scheduling file `Op.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/OpFactory.hpp
  cvs server: scheduling file `OpFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ParenToken.hpp
  cvs server: scheduling file `ParenToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ParserForXMLSchema.hpp
  cvs server: scheduling file `ParserForXMLSchema.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeFactory.hpp
  cvs server: scheduling file `RangeFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeToken.hpp
  cvs server: scheduling file `RangeToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeTokenMap.hpp
  cvs server: scheduling file `RangeTokenMap.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegularExpression.hpp
  cvs server: scheduling file `RegularExpression.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxDefs.hpp
  cvs server: scheduling file `RegxDefs.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxParser.hpp
  cvs server: scheduling file `RegxParser.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxUtil.hpp
  cvs server: scheduling file `RegxUtil.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/StringToken.hpp
  cvs server: scheduling file `StringToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Token.hpp
  cvs server: scheduling file `Token.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/TokenFactory.hpp
  cvs server: scheduling file `TokenFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/TokenInc.hpp
  cvs server: scheduling file `TokenInc.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UniCharTable.hpp
  cvs server: scheduling file `UniCharTable.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UnicodeRangeFactory.hpp
  cvs server: scheduling file `UnicodeRangeFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UnionToken.hpp
  cvs server: scheduling file `UnionToken.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/XMLRangeFactory.hpp
  cvs server: scheduling file `XMLRangeFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/XMLUniCharacter.hpp
  cvs server: scheduling file `XMLUniCharacter.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators
  ? validators/common
  ? validators/datatype
  ? validators/DTD
  ? validators/schema
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/validators added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD
  ? DTD/DocTypeHandler.hpp
  ? DTD/DTDAttDef.hpp
  ? DTD/DTDAttDefList.hpp
  ? DTD/DTDElementDecl.hpp
  ? DTD/DTDEntityDecl.hpp
  ? DTD/DTDGrammar.hpp
  ? DTD/DTDScanner.hpp
  ? DTD/DTDValidator.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDAttDef.hpp
  cvs server: scheduling file `DTDAttDef.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDAttDefList.hpp
  cvs server: scheduling file `DTDAttDefList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDElementDecl.hpp
  cvs server: scheduling file `DTDElementDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDEntityDecl.hpp
  cvs server: scheduling file `DTDEntityDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDGrammar.hpp
  cvs server: scheduling file `DTDGrammar.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDScanner.hpp
  cvs server: scheduling file `DTDScanner.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDValidator.hpp
  cvs server: scheduling file `DTDValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DocTypeHandler.hpp
  cvs server: scheduling file `DocTypeHandler.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common
  ? common/AllContentModel.hpp
  ? common/CMAny.hpp
  ? common/CMBinaryOp.hpp
  ? common/CMLeaf.hpp
  ? common/CMNode.hpp
  ? common/CMStateSet.hpp
  ? common/CMUnaryOp.hpp
  ? common/ContentLeafNameTypeVector.hpp
  ? common/ContentSpecNode.hpp
  ? common/DFAContentModel.hpp
  ? common/Grammar.hpp
  ? common/GrammarResolver.hpp
  ? common/MixedContentModel.hpp
  ? common/SimpleContentModel.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/AllContentModel.hpp
  cvs server: scheduling file `AllContentModel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMAny.hpp
  cvs server: scheduling file `CMAny.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMBinaryOp.hpp
  cvs server: scheduling file `CMBinaryOp.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMLeaf.hpp
  cvs server: scheduling file `CMLeaf.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMNode.hpp
  cvs server: scheduling file `CMNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMStateSet.hpp
  cvs server: scheduling file `CMStateSet.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMUnaryOp.hpp
  cvs server: scheduling file `CMUnaryOp.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/ContentLeafNameTypeVector.hpp
  cvs server: scheduling file `ContentLeafNameTypeVector.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/ContentSpecNode.hpp
  cvs server: scheduling file `ContentSpecNode.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/DFAContentModel.hpp
  cvs server: scheduling file `DFAContentModel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/Grammar.hpp
  cvs server: scheduling file `Grammar.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/GrammarResolver.hpp
  cvs server: scheduling file `GrammarResolver.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/MixedContentModel.hpp
  cvs server: scheduling file `MixedContentModel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/SimpleContentModel.hpp
  cvs server: scheduling file `SimpleContentModel.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype
  ? datatype/AbstractNumericFacetValidator.hpp
  ? datatype/AbstractNumericValidator.hpp
  ? datatype/AbstractStringValidator.hpp
  ? datatype/AnySimpleTypeDatatypeValidator.hpp
  ? datatype/AnyURIDatatypeValidator.hpp
  ? datatype/Base64BinaryDatatypeValidator.hpp
  ? datatype/BooleanDatatypeValidator.hpp
  ? datatype/DatatypeValidator.hpp
  ? datatype/DatatypeValidatorFactory.hpp
  ? datatype/DecimalDatatypeValidator.hpp
  ? datatype/DoubleDatatypeValidator.hpp
  ? datatype/ENTITYDatatypeValidator.hpp
  ? datatype/FloatDatatypeValidator.hpp
  ? datatype/HexBinaryDatatypeValidator.hpp
  ? datatype/IDDatatypeValidator.hpp
  ? datatype/IDREFDatatypeValidator.hpp
  ? datatype/InvalidDatatypeFacetException.hpp
  ? datatype/InvalidDatatypeValueException.hpp
  ? datatype/ListDatatypeValidator.hpp
  ? datatype/NameDatatypeValidator.hpp
  ? datatype/NCNameDatatypeValidator.hpp
  ? datatype/NOTATIONDatatypeValidator.hpp
  ? datatype/QNameDatatypeValidator.hpp
  ? datatype/StringDatatypeValidator.hpp
  ? datatype/UnionDatatypeValidator.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractNumericFacetValidator.hpp
  cvs server: scheduling file `AbstractNumericFacetValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractNumericValidator.hpp
  cvs server: scheduling file `AbstractNumericValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractStringValidator.hpp
  cvs server: scheduling file `AbstractStringValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AnySimpleTypeDatatypeValidator.hpp
  cvs server: scheduling file `AnySimpleTypeDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AnyURIDatatypeValidator.hpp
  cvs server: scheduling file `AnyURIDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/Base64BinaryDatatypeValidator.hpp
  cvs server: scheduling file `Base64BinaryDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/BooleanDatatypeValidator.hpp
  cvs server: scheduling file `BooleanDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DatatypeValidator.hpp
  cvs server: scheduling file `DatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DatatypeValidatorFactory.hpp
  cvs server: scheduling file `DatatypeValidatorFactory.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DecimalDatatypeValidator.hpp
  cvs server: scheduling file `DecimalDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DoubleDatatypeValidator.hpp
  cvs server: scheduling file `DoubleDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/ENTITYDatatypeValidator.hpp
  cvs server: scheduling file `ENTITYDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/FloatDatatypeValidator.hpp
  cvs server: scheduling file `FloatDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/HexBinaryDatatypeValidator.hpp
  cvs server: scheduling file `HexBinaryDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/IDDatatypeValidator.hpp
  cvs server: scheduling file `IDDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/IDREFDatatypeValidator.hpp
  cvs server: scheduling file `IDREFDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/InvalidDatatypeFacetException.hpp
  cvs server: scheduling file `InvalidDatatypeFacetException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/InvalidDatatypeValueException.hpp
  cvs server: scheduling file `InvalidDatatypeValueException.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/ListDatatypeValidator.hpp
  cvs server: scheduling file `ListDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NCNameDatatypeValidator.hpp
  cvs server: scheduling file `NCNameDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NOTATIONDatatypeValidator.hpp
  cvs server: scheduling file `NOTATIONDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NameDatatypeValidator.hpp
  cvs server: scheduling file `NameDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/QNameDatatypeValidator.hpp
  cvs server: scheduling file `QNameDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/StringDatatypeValidator.hpp
  cvs server: scheduling file `StringDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/UnionDatatypeValidator.hpp
  cvs server: scheduling file `UnionDatatypeValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema
  ? schema/ComplexTypeInfo.hpp
  ? schema/GeneralAttributeCheck.hpp
  ? schema/NamespaceScope.hpp
  ? schema/SchemaAttDef.hpp
  ? schema/SchemaAttDefList.hpp
  ? schema/SchemaElementDecl.hpp
  ? schema/SchemaGrammar.hpp
  ? schema/SchemaInfo.hpp
  ? schema/SchemaSymbols.hpp
  ? schema/SchemaValidator.hpp
  ? schema/SubstitutionGroupComparator.hpp
  ? schema/TraverseSchema.hpp
  ? schema/XercesAttGroupInfo.hpp
  ? schema/XercesElementWildcard.hpp
  ? schema/XercesGroupInfo.hpp
  ? schema/XUtil.hpp
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/ComplexTypeInfo.hpp
  cvs server: scheduling file `ComplexTypeInfo.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/GeneralAttributeCheck.hpp
  cvs server: scheduling file `GeneralAttributeCheck.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/NamespaceScope.hpp
  cvs server: scheduling file `NamespaceScope.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaAttDef.hpp
  cvs server: scheduling file `SchemaAttDef.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaAttDefList.hpp
  cvs server: scheduling file `SchemaAttDefList.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaElementDecl.hpp
  cvs server: scheduling file `SchemaElementDecl.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaGrammar.hpp
  cvs server: scheduling file `SchemaGrammar.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaInfo.hpp
  cvs server: scheduling file `SchemaInfo.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaSymbols.hpp
  cvs server: scheduling file `SchemaSymbols.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaValidator.hpp
  cvs server: scheduling file `SchemaValidator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SubstitutionGroupComparator.hpp
  cvs server: scheduling file `SubstitutionGroupComparator.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/TraverseSchema.hpp
  cvs server: scheduling file `TraverseSchema.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XUtil.hpp
  cvs server: scheduling file `XUtil.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesAttGroupInfo.hpp
  cvs server: scheduling file `XercesAttGroupInfo.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesElementWildcard.hpp
  cvs server: scheduling file `XercesElementWildcard.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesGroupInfo.hpp
  cvs server: scheduling file `XercesGroupInfo.hpp' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/lib
  ? lib/Linux
  ? lib/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/lib added to the repository
  adding directory /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/lib/Linux
  ? Linux/ReadMe.txt
  Mailing the commit message...
  Directory /home/cvs/xml-axis/contrib/Axis-C++/xerces-c/lib/Linux added to the repository
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/lib/Linux/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/Axis-C++/xerces-c/lib/ReadMe.txt
  cvs server: scheduling file `ReadMe.txt' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/c:/projects/xml-axis/contrib/doit
  cvs server: scheduling file `doit' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/c:/projects/xml-axis/contrib/doit.log
  cvs server: scheduling file `doit.log' for addition
  cvs server: use 'cvs commit' to add this file permanently
  adding file /cygdrive/c/projects/xml-axis/contrib/c:/projects/xml-axis/contrib/doit~
  cvs server: scheduling file `doit~' for addition
  cvs server: use 'cvs commit' to add this file permanently
  
  
  
  1.1                  xml-axis/contrib/doit~
  
  Index: doit~
  ===================================================================
  
  set echo
  foreach i (*) 
    echo 'Working on $i'
    if (-d $i) then
      cvs add $i
      (cd $i; tcsh c:/projects/xml-axis/contrib/doit)
    endif
  end
  
  
  1.1                  xml-axis/contrib/Axis-C++/Makefile
  
  Index: Makefile
  ===================================================================
  BASE_PATH = .
  include inc.mk
  
  all:: axlib Axis_Release
  
  Axis_Release: objects $(AX_LIB)
  	( cd Axis_Release ; $(MAKE) -$(MAKEFLAGS) ; )
  
  axlib: objects $(AX_LIB)
  
  
  $(AX_LIB): $(AX_OBJ_COMMON_DIR)/timestamp
  	$(AX_AR) $(AX_LIB) $(AX_OBJ_COMMON_DIR)/*.o
  
  $(AX_OBJ_COMMON_DIR)/timestamp objects:
  	@( cd $(AX_SRC_DIR) ; $(MAKE) -$(MAKEFLAGS) )
  
  # Create the javadoc-like documentation for AXIS Client Lib
  
  doxygen-docs:
  	( cd $(DOXYGEN_DIR); $(DOXYGEN_EXE_DIR)/doxygen AxisDoc.cfg )
  
  tst:
  	@echo AX_LIB_DIR: $(AX_LIB_DIR)
  	@echo CFLAGS: $(CFLAGS)
  	@echo TARGET_PLATFORM:  $(TARGET_PLATFORM)
  
  clean:
  	rm -rf $(AX_LIB_DIR)/*
  	rm -rf $(AX_OBJ_COMMON_DIR)/*
  	( cd $(AX_SRC_DIR) ; $(MAKE) -$(MAKEFLAGS) clean )
  
  clobber: clean
  	( cd Axis_Release ; $(MAKE) -$(MAKEFLAGS) clean )
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                         Axis Client Lib for C++
               -------------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  
  
  $Log:
  
  - Alpha 0.45 Release          March 11, 2002
  
  
  GNU C++ & GNU make should be used to compile on Unix, on Solaris SunWorkshop 
  compiler kit does not support template members hence cannot be used. On Linux
  kDevelopment project workspace is provided for easy development. For win32
  users MS Visual C++ projects workspace is provided. 
  API documentation is provided with the user guide. Developer guide is not yet
  complete.
  
  TODO:
  
  (1) Testing should be done on AIX with xCl_r compiler. 
  (2) Supporting possible other data types, arrays, user defined data types etc.
  (3) Need to check possible cause of memory leaks.
  (4) Need to write set of testharnesses to test the lib.
  (5) Support for WSDL
  (6) Multi-reference support
  (8) Multiple output values manupulations. (currently single return value is
      concerned)
  (9) Make the lib as Shared lib (DLL/*.so); A problem experienced 
      with DLL exporting template functions, need to fix this.
  (10) Need to sync with other improvemnts made accross java version of Axis :)
  
  
  
  
  - Alpha 0.4 Release          December 17, 2001
  
  Static lib for both Unix & Win32, 
  Supports user defined type with type-mapping-registry, further testing is
  required. All the primitive data types are suppored with some STL container 
  types.
  
  Testing should be done on AIX with xCl_r compiler. 
  On Solaris,  GNU C++ can be used to compile the 
  lib, SunWorkshop compiler kit does not support template members hence cannot
  be used. On Linux GNU C++ with gmake should be used.
  
  TODO:
  
  (1) Supporting possible other data types, arrays etc.
  (2) Need to check possible cause of memory leaks.
  (3) Set of testharnesses to test the lib.
  (4) Support for WSDL
  (5) Multi-reference support
  (6) SOAP Header mapulation, Fault manupulations etc.
  (7) Multiple output values manupulations. (currently single return value is
      concerned)
  (8) Make the lib as Shared lib (DLL/*.so); A problem experienced 
      with DLL exporting template functions, need to fix this.
  (9) Need to sync with other improvemnts required :)
  (10) Documentation is not complete.
  
  
  
  
  - Alpha 0.3 Release          November 26, 2001
  
  Static lib for Win32 with message (Limited) Serialization/DeSerialization
  support for SOAP-RPC on HTTP. 
  
  TODO: TOO-MUCH :-) Type mapping with Serialization/Deserialization of with 
  registry of user types. Service description for result type deserialization.
  Namespace, Schema?? checking. Transport support on SSL & proxy server connection
  support. SOAP-Header implementation.
  
  Make the lib as a dynamic link lib (DLL or *.so)
  
  Working on Unix Makefiles to port to Unix platforms: Solaris, AIX & Linux :-)
  
  
  - Alpha 0.2 Release          November 17, 2001
  
  SOAP Message builder for Win32
  
  
  
  P.S.:
  
  Sorry - Code does not have much comments due to the time restriction. :-)
  Hope to do it on next release.
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/inc.mk
  
  Index: inc.mk
  ===================================================================
  include $(BASE_PATH)/platform.mk
  
  
  
  CPPFLAGS = \
  	$(LOCAL_INCLUDES) \
  	-I. \
  	-I$(XERCES_INC_DIR) \
  	-I../../xerces-c/include \
  	-I$(AX_DIR)/src/Message \
  	-I$(AX_DIR)/src/Transport \
  	-I$(AX_DIR)/src/Util \
  	-I$(AX_DIR)/src/Encoding \
  	-I$(AX_DIR)/src/Xml \
  	-I$(AX_DIR)/src/Client \
  	-I$(AX_DIR)/src  
  	
  
  OPTFLAGS=-g
  
  CCFLAGS = $(CFLAGS) $(OPTFLAGS)
  
  LDFLAGS = 
  
  COMPILE.cpp = $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
  
  LINK.cc = $(CCC)
  
  $(AX_OBJ_COMMON_DIR)/%.o: %.cpp
  	$(COMPILE.cpp) $(OUTPUT_OPTION) -o $@ $<
  	@touch $(AX_OBJ_COMMON_DIR)/timestamp
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/platform.mk
  
  Index: platform.mk
  ===================================================================
  # platform.mk defines platform-dependent variables
  # for compiling Axis Client lib:
  #
  # TARGET_PLATFORM
  # CCC
  # CFLAGS
  
  # AX_DIR
  # AX_LIB_DIR
  # AX_LIB
  # AX_LNK
  # AX_OBJ_COMMON_DIR
  # AX_AR
  # AX_TEST_LINK_FLAGS
  # AX_TEST_LINK_LIBS
  # AX_LD_LIB_PATH
  
  # XERCES_INC_DIR
  # XERCES_LIB_DIR
  # XERCES_LNK
  # LINK.cc
  # LD_LIB_PATH_NAME
  
  # To run a test compile with gcc on a Solaris machine, add
  # "GCC_TEST_COMPILE=TRUE" to the gmake command line, eg
  # "gmake GCC_TEST_COMPILE=TRUE optimal".  It won't link, but
  # it doesn't need to... we just want to see what warnings
  # gcc emits.  It would be a good idea to add "-k" to the
  # gmake command line also, since some files don't compile,
  # mostly because of the lack of vector<>::at() in gcc.
  
  DOXYGEN_DIR = ./doxygen
  DOXYGEN_EXE_DIR = /usr/local/doxygen/bin
  
  #SC_DIR=$(shell pwd)
  TOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
  
  SC_DIR=$(BASE_PATH)
  
  AX_DIR = $(SC_DIR)
  
  TARGET_PLATFORM = $(shell $(AX_DIR)/getplatform.sh PLATFORMNAME)
  TARGET_DEFINE   = $(shell $(AX_DIR)/getplatform.sh PLATFORMDEFINE)
  TARGET_DEFINE	= AXIS_LINUX
  
  COMPILER_BASE   = /usr/tools/compilers/$(TARGET_PLATFORM)
  LOCAL_BASE      = /usr/local/$(TARGET_PLATFORM)
  
  AX_SRC_DIR        = $(AX_DIR)/src
  AX_LIB_DIR        = $(AX_DIR)/lib/$(TARGET_PLATFORM)
  AX_OBJ_DIR        = $(AX_DIR)/objs/$(TARGET_PLATFORM)
  AX_OBJ_COMMON_DIR = $(AX_OBJ_DIR)/common
  
  AX_LIB = $(AX_LIB_DIR)/libAxisClient.a
  AX_LNK = -L$(AX_LIB_DIR) -l.
  
  XERCES_INC_DIR    = $(AX_DIR)/xerces-c/include
  XERCES_LIB_DIR    = $(AX_DIR)/xerces-c/lib/$(TARGET_PLATFORM)
  XERCES_LNK_COMMON = -L$(XERCES_LIB_DIR) -lxerces-c1_5
  
  LINK.cc = $(CCC)
  
  .SUFFIXES: .cpp .h .hpp
  
  AXIS_FLAGS = -D__EXTENSIONS__ -D_UNIX -D$(TARGET_DEFINE) -D_REENTRANT -D_PTHREADS
  
  ifeq "$(TARGET_DEFINE)" "AXIS_SUNOS"
      SUNLIB              = $(COMPILER_BASE)/lib
  
  ifeq "$(GCC_TEST_COMPILE)" "TRUE"
      COMPILER_HOME       = /usr/local/bin
      CCC                 = $(COMPILER_HOME)/gcc
      CFLAGS              = $(AXIS_FLAGS) -fPIC -D_REENTRANT -D_PTHREADS $(LFS_COMPILE_FLAGS)
  else
      COMPILER_HOME       = $(COMPILER_BASE)/bin
      CCC                 = $(COMPILER_HOME)/CC
      CFLAGS              = -mt -KPIC $(AXIS_FLAGS) $(LFS_COMPILE_FLAGS)
  endif
  
      LFS_COMPILE_FLAGS   = $(shell getconf LFS_CFLAGS)
      AX_AR               = $(CCC) -xar -o
      AX_TEST_LINK_FLAGS  =
      AX_TEST_LINK_LIBS   =
  
      LIB_LINK.cc         = $(CCC)
      XERCES_LNK          = $(XERCES_LNK_COMMON) -lsocket
  
      LD_LIB_PATH_NAME    = LD_LIBRARY_PATH
  else
  # set default compiler to gcc on Linux
      TARGET_PLATFORM	= Linux
      COMPILER_HOME       = /usr/bin
      CCC                 = $(COMPILER_HOME)/g++
      CFLAGS              = $(AXIS_FLAGS) -fPIC 
      AX_AR               = ar cru
      LIB_LINK.cc         = $(CCC)
  
  endif
  
  #solaris
  #gcc version    CFLAGS = $(AXIS_FLAGS) -D$(TARGET_DEFINE) -fPIC -D_REENTRANT -D_PTHREADS $(LFS_COMPILE_FLAGS)
  #gcc version    AX_LINK_ARGS = `lorder $(AX_OBJ_COMMON_DIR)/*.o | /usr/ccs/bin/tsort`
  #gcc version    AX_TEST_LINK_FLAGS = -l stdc++ -l pthread
  
  # AIX code is always position independent, so it doesn't need -fPIC
  
  ifeq "$(TARGET_PLATFORM)" "AIX_4.3"
      COMPILER_HOME       = $(COMPILER_BASE)/bin
      CCC                 = $(COMPILER_HOME)/xlC_r
      XERCES_LNK          = $(XERCES_LNK_COMMON)
  
      LFS_COMPILE_FLAGS   = -D_LARGE_FILES -D_LARGE_FILE_API
      CFLAGS              = $(AXIS_FLAGS) $(LFS_COMPILE_FLAGS) -qrtti=all
      AX_AR               = touch $(AX_LIB); echo lib not used:  ar -cr
      AX_TEST_LINK_FLAGS  = -brtl
      AX_TEST_LINK_LIBS   = $(XERCES_LNK)
  
      LIB_LINK.cc         = $(COMPILER_HOME)/makeC++SharedLib_r
   
      AXIS_EXPORT      = -EAxis_client_lib.exp
  
  # AIX linker can't resolve all references from Axis_client_lib.a,
  # so rather than using Axis_client_lib.a, we link in the object
  # files contained in it directly.
      AX_LNK              = $(AX_OBJ_COMMON_DIR)/*.o
  
      LD_LIB_PATH_NAME    = LIBPATH
  endif
  
  ifeq "$(TARGET_PLATFORM)" "NOPLATFORM"
      CFLAGS=NOVALUE
  endif
  
  AX_LD_LIB_PATH = /lib:/usr/lib:/usr/local/lib:$(AX_LIB_DIR):$(XERCES_LIB_DIR)
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Axis_Release/Makefile
  
  Index: Makefile
  ===================================================================
  
  INC_DIR = ../include
  SRC = ../src
  
  ##########################################
  ### Client 
  
  CL_DIR = $(SRC)/Client 
  
  CL_FILES = Call.hpp \
  			ServiceFactory.hpp 
  
  CL_HDRS = $(CL_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(CL_DIR)/%
  	cp -f $? $@
  
  ##########################################
  ### Encoding
  
  EN_DIR = $(SRC)/Encoding
  
  EN_FILES = Param.hpp \
  	   		SerializerFactory.hpp
  
  EN_HDRS = $(EN_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(EN_DIR)/%
  	cp -f $? $@
  
  ##########################################
  ### Util
  
  UTIL_DIR = $(SRC)/Util
  
  UTIL_FILES = AxisConst.hpp \
  	     	 QName.hpp
  
  UTIL_HDRS = $(UTIL_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(UTIL_DIR)/%
  	cp -f $? $@
  
  #########################################
  ### Base
  
  BS_DIR = $(SRC) 
  
  BS_FILES = Platform.hpp 
  
  BS_HDRS = $(BS_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(BS_DIR)/%
  	cp -f $? $@
  
  ########################################
  
  
  HDRS =	$(CL_HDRS) $(EN_HDRS) $(UTIL_HDRS) $(BS_HDRS) 
  
  
  all:
  	$(MAKE) -$(MAKEFLAGS) $(HDRS)
  
  clean:
  	@echo cleaning axlib release
  	rm -f $(HDRS)
  
  
  1.1                  xml-axis/contrib/Axis-C++/Axis_Release/Makefile.bak
  
  Index: Makefile.bak
  ===================================================================
  
  INC_DIR = ../include
  SRC = ../src
  
  ##########################################
  ### Client 
  
  CL_DIR = $(SRC)/Client 
  
  CL_FILES = Call.hpp \
  			ServiceFactory.hpp 
  
  CL_HDRS = $(CL_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(CL_DIR)/%
  	cp -f $? $@
  
  ##########################################
  ### Encoding
  
  EN_DIR = $(SRC)/Encoding
  
  EN_FILES = Param.hpp \
  	   		SerializerFactory.hpp
  
  EN_HDRS = $(EN_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(EN_DIR)/%
  	cp -f $? $@
  
  ##########################################
  ### Util
  
  UTIL_DIR = $(SRC)/Util
  
  UTIL_FILES = AxisConst.hpp \
  	     	 QName.hpp
  
  UTIL_HDRS = $(UTIL_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(UTIL_DIR)/%
  	cp -f $? $@
  
  #########################################
  ### Base
  
  BS_DIR = $(SRC) 
  
  BS_FILES = Platform.hpp 
  
  BS_HDRS = $(BS_FILES:%.hpp=$(INC_DIR)/%.hpp)
  
  $(INC_DIR)/%:$(BS_DIR)/%
  	cp -f $? $@
  
  ########################################
  
  
  HDRS =	$(CL_HDRS) $(EN_HDRS) $(UTIL_HDRS) $(BS_HDRS) 
  
  SRCS =	$(CL_SRCS) $(EN_SRCS) $(UTIL_SRCS) $(BS_SRCS)
  
  all:
  	$(MAKE) -$(MAKEFLAGS) $(HDRS)
  
  clean:
  	@echo cleaning axlib release
  	rm -f $(HDRS)
  
  
  1.1                  xml-axis/contrib/Axis-C++/Axis_Release/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                   Axis Client Lib for C++ - Lib Exports
               -------------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of export functions for the library as include files
  to use by end user
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  ####### kdevelop will overwrite this part!!! (begin)##########
  
  SUBDIRS = axis 
  
  EXTRA_DIST = axis.kdevprj 
  
  ####### kdevelop will overwrite this part!!! (end)############
  AUTOMAKE_OPTIONS = foreign
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.dist
  
  Index: Makefile.dist
  ===================================================================
  default: all
  
  dist:
  	@echo "This file is to make it easier for you to create all you need"
  	aclocal
  	autoheader
  # use --include-deps, if you want to release the stuff. Don't use it for
  # yourself
  	automake --include-deps
  	autoconf
  	touch stamp-h.in
  	LIST=`find ./po -name "*.po"`; \
  	for i in $$LIST; do \
  	 file2=`echo $$i | sed -e "s#\.po#\.gmo#"`; \
  	 msgfmt -o $$file2 $$i; \
  	done 
  	rm -f Makefile.dist
  
  all:
  	aclocal
  	autoheader
  	automake
  	autoconf
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  # Makefile.in generated automatically by automake 1.4 from Makefile.am
  
  # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
  # This Makefile.in is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
  
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  # PARTICULAR PURPOSE.
  
  ####### kdevelop will overwrite this part!!! (begin)##########
  
  
  SHELL = @SHELL@
  
  srcdir = @srcdir@
  top_srcdir = @top_srcdir@
  VPATH = @srcdir@
  prefix = @prefix@
  exec_prefix = @exec_prefix@
  
  bindir = @bindir@
  sbindir = @sbindir@
  libexecdir = @libexecdir@
  datadir = @datadir@
  sysconfdir = @sysconfdir@
  sharedstatedir = @sharedstatedir@
  localstatedir = @localstatedir@
  libdir = @libdir@
  infodir = @infodir@
  mandir = @mandir@
  includedir = @includedir@
  oldincludedir = /usr/include
  
  DESTDIR =
  
  pkgdatadir = $(datadir)/@PACKAGE@
  pkglibdir = $(libdir)/@PACKAGE@
  pkgincludedir = $(includedir)/@PACKAGE@
  
  top_builddir = .
  
  ACLOCAL = @ACLOCAL@
  AUTOCONF = @AUTOCONF@
  AUTOMAKE = @AUTOMAKE@
  AUTOHEADER = @AUTOHEADER@
  
  INSTALL = @INSTALL@
  INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
  INSTALL_DATA = @INSTALL_DATA@
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
  transform = @program_transform_name@
  
  NORMAL_INSTALL = :
  PRE_INSTALL = :
  POST_INSTALL = :
  NORMAL_UNINSTALL = :
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  CC = @CC@
  CXX = @CXX@
  MAKEINFO = @MAKEINFO@
  PACKAGE = @PACKAGE@
  RANLIB = @RANLIB@
  VERSION = @VERSION@
  
  SUBDIRS = axis 
  
  EXTRA_DIST = axis.kdevprj 
  
  ####### kdevelop will overwrite this part!!! (end)############
  AUTOMAKE_OPTIONS = foreign
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
  CONFIG_HEADER = config.h
  CONFIG_CLEAN_FILES = 
  DIST_COMMON =  ./stamp-h.in Makefile.am Makefile.in acconfig.h \
  aclocal.m4 config.h.in configure configure.in install-sh missing \
  mkinstalldirs
  
  
  DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
  
  TAR = gtar
  GZIP_ENV = --best
  all: all-redirect
  .SUFFIXES:
  $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
  	cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
  
  Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
  	cd $(top_builddir) \
  	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
  
  $(ACLOCAL_M4):  configure.in 
  	cd $(srcdir) && $(ACLOCAL)
  
  config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  	$(SHELL) ./config.status --recheck
  $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
  	cd $(srcdir) && $(AUTOCONF)
  
  config.h: stamp-h
  	@if test ! -f $@; then \
  		rm -f stamp-h; \
  		$(MAKE) stamp-h; \
  	else :; fi
  stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
  	cd $(top_builddir) \
  	  && CONFIG_FILES= CONFIG_HEADERS=config.h \
  	     $(SHELL) ./config.status
  	@echo timestamp > stamp-h 2> /dev/null
  $(srcdir)/config.h.in: $(srcdir)/stamp-h.in
  	@if test ! -f $@; then \
  		rm -f $(srcdir)/stamp-h.in; \
  		$(MAKE) $(srcdir)/stamp-h.in; \
  	else :; fi
  $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
  	cd $(top_srcdir) && $(AUTOHEADER)
  	@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
  
  mostlyclean-hdr:
  
  clean-hdr:
  
  distclean-hdr:
  	-rm -f config.h
  
  maintainer-clean-hdr:
  
  # This directory's subdirectories are mostly independent; you can cd
  # into them and run `make' without going through this Makefile.
  # To change the values of `make' variables: instead of editing Makefiles,
  # (1) if the variable is set in `config.status', edit `config.status'
  #     (which will cause the Makefiles to be regenerated when you run `make');
  # (2) otherwise, pass the desired values on the `make' command line.
  
  @SET_MAKE@
  
  all-recursive install-data-recursive install-exec-recursive \
  installdirs-recursive install-recursive uninstall-recursive  \
  check-recursive installcheck-recursive info-recursive dvi-recursive:
  	@set fnord $(MAKEFLAGS); amf=$$2; \
  	dot_seen=no; \
  	target=`echo $@ | sed s/-recursive//`; \
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  echo "Making $$target in $$subdir"; \
  	  if test "$$subdir" = "."; then \
  	    dot_seen=yes; \
  	    local_target="$$target-am"; \
  	  else \
  	    local_target="$$target"; \
  	  fi; \
  	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
  	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
  	done; \
  	if test "$$dot_seen" = "no"; then \
  	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
  	fi; test -z "$$fail"
  
  mostlyclean-recursive clean-recursive distclean-recursive \
  maintainer-clean-recursive:
  	@set fnord $(MAKEFLAGS); amf=$$2; \
  	dot_seen=no; \
  	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
  	  rev="$$subdir $$rev"; \
  	  test "$$subdir" = "." && dot_seen=yes; \
  	done; \
  	test "$$dot_seen" = "no" && rev=". $$rev"; \
  	target=`echo $@ | sed s/-recursive//`; \
  	for subdir in $$rev; do \
  	  echo "Making $$target in $$subdir"; \
  	  if test "$$subdir" = "."; then \
  	    local_target="$$target-am"; \
  	  else \
  	    local_target="$$target"; \
  	  fi; \
  	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
  	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
  	done && test -z "$$fail"
  tags-recursive:
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
  	done
  
  tags: TAGS
  
  ID: $(HEADERS) $(SOURCES) $(LISP)
  	list='$(SOURCES) $(HEADERS)'; \
  	unique=`for i in $$list; do echo $$i; done | \
  	  awk '    { files[$$0] = 1; } \
  	       END { for (i in files) print i; }'`; \
  	here=`pwd` && cd $(srcdir) \
  	  && mkid -f$$here/ID $$unique $(LISP)
  
  TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
  	tags=; \
  	here=`pwd`; \
  	list='$(SUBDIRS)'; for subdir in $$list; do \
     if test "$$subdir" = .; then :; else \
  	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
     fi; \
  	done; \
  	list='$(SOURCES) $(HEADERS)'; \
  	unique=`for i in $$list; do echo $$i; done | \
  	  awk '    { files[$$0] = 1; } \
  	       END { for (i in files) print i; }'`; \
  	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
  	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
  
  mostlyclean-tags:
  
  clean-tags:
  
  distclean-tags:
  	-rm -f TAGS ID
  
  maintainer-clean-tags:
  
  distdir = $(PACKAGE)-$(VERSION)
  top_distdir = $(distdir)
  
  # This target untars the dist file and tries a VPATH configuration.  Then
  # it guarantees that the distribution is self-contained by making another
  # tarfile.
  distcheck: dist
  	-rm -rf $(distdir)
  	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
  	mkdir $(distdir)/=build
  	mkdir $(distdir)/=inst
  	dc_install_base=`cd $(distdir)/=inst && pwd`; \
  	cd $(distdir)/=build \
  	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
  	  && $(MAKE) $(AM_MAKEFLAGS) \
  	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
  	  && $(MAKE) $(AM_MAKEFLAGS) check \
  	  && $(MAKE) $(AM_MAKEFLAGS) install \
  	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
  	  && $(MAKE) $(AM_MAKEFLAGS) dist
  	-rm -rf $(distdir)
  	@banner="$(distdir).tar.gz is ready for distribution"; \
  	dashes=`echo "$$banner" | sed s/./=/g`; \
  	echo "$$dashes"; \
  	echo "$$banner"; \
  	echo "$$dashes"
  dist: distdir
  	-chmod -R a+r $(distdir)
  	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
  	-rm -rf $(distdir)
  dist-all: distdir
  	-chmod -R a+r $(distdir)
  	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
  	-rm -rf $(distdir)
  distdir: $(DISTFILES)
  	-rm -rf $(distdir)
  	mkdir $(distdir)
  	-chmod 777 $(distdir)
  	here=`cd $(top_builddir) && pwd`; \
  	top_distdir=`cd $(distdir) && pwd`; \
  	distdir=`cd $(distdir) && pwd`; \
  	cd $(top_srcdir) \
  	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
  	@for file in $(DISTFILES); do \
  	  d=$(srcdir); \
  	  if test -d $$d/$$file; then \
  	    cp -pr $$d/$$file $(distdir)/$$file; \
  	  else \
  	    test -f $(distdir)/$$file \
  	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
  	    || cp -p $$d/$$file $(distdir)/$$file || :; \
  	  fi; \
  	done
  	for subdir in $(SUBDIRS); do \
  	  if test "$$subdir" = .; then :; else \
  	    test -d $(distdir)/$$subdir \
  	    || mkdir $(distdir)/$$subdir \
  	    || exit 1; \
  	    chmod 777 $(distdir)/$$subdir; \
  	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
  	      || exit 1; \
  	  fi; \
  	done
  info-am:
  info: info-recursive
  dvi-am:
  dvi: dvi-recursive
  check-am: all-am
  check: check-recursive
  installcheck-am:
  installcheck: installcheck-recursive
  all-recursive-am: config.h
  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
  
  install-exec-am:
  install-exec: install-exec-recursive
  
  install-data-am:
  install-data: install-data-recursive
  
  install-am: all-am
  	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  install: install-recursive
  uninstall-am:
  uninstall: uninstall-recursive
  all-am: Makefile config.h
  all-redirect: all-recursive-am
  install-strip:
  	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
  installdirs: installdirs-recursive
  installdirs-am:
  
  
  mostlyclean-generic:
  
  clean-generic:
  
  distclean-generic:
  	-rm -f Makefile $(CONFIG_CLEAN_FILES)
  	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
  
  maintainer-clean-generic:
  mostlyclean-am:  mostlyclean-hdr mostlyclean-tags mostlyclean-generic
  
  mostlyclean: mostlyclean-recursive
  
  clean-am:  clean-hdr clean-tags clean-generic mostlyclean-am
  
  clean: clean-recursive
  
  distclean-am:  distclean-hdr distclean-tags distclean-generic clean-am
  
  distclean: distclean-recursive
  	-rm -f config.status
  
  maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-tags \
  		maintainer-clean-generic distclean-am
  	@echo "This command is intended for maintainers to use;"
  	@echo "it deletes files that may require special tools to rebuild."
  
  maintainer-clean: maintainer-clean-recursive
  	-rm -f config.status
  
  .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
  install-data-recursive uninstall-data-recursive install-exec-recursive \
  uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
  all-recursive check-recursive installcheck-recursive info-recursive \
  dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
  maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
  distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
  dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
  install-exec-am install-exec install-data-am install-data install-am \
  install uninstall-am uninstall all-redirect all-am all installdirs-am \
  installdirs mostlyclean-generic distclean-generic clean-generic \
  maintainer-clean-generic clean mostlyclean distclean maintainer-clean
  
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.
  .NOEXPORT:
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/acconfig.h
  
  Index: acconfig.h
  ===================================================================
  /* Define if the C++ compiler supports BOOL */
  #undef HAVE_BOOL
  
  #undef VERSION
  
  #undef PACKAGE
  
  /* Define if you need the GNU extensions to compile */
  #undef _GNU_SOURCE
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/aclocal.m4
  
  Index: aclocal.m4
  ===================================================================
  dnl aclocal.m4 generated automatically by aclocal 1.4
  
  dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
  dnl This file is free software; the Free Software Foundation
  dnl gives unlimited permission to copy and/or distribute it,
  dnl with or without modifications, as long as this notice is preserved.
  
  dnl This program is distributed in the hope that it will be useful,
  dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  dnl PARTICULAR PURPOSE.
  
  # Like AC_CONFIG_HEADER, but automatically create stamp file.
  
  AC_DEFUN(AM_CONFIG_HEADER,
  [AC_PREREQ([2.12])
  AC_CONFIG_HEADER([$1])
  dnl When config.status generates a header, we must update the stamp-h file.
  dnl This file resides in the same directory as the config header
  dnl that is generated.  We must strip everything past the first ":",
  dnl and everything past the last "/".
  AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
  ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
  <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
  <<am_indx=1
  for am_file in <<$1>>; do
    case " <<$>>CONFIG_HEADERS " in
    *" <<$>>am_file "*<<)>>
      echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
      ;;
    esac
    am_indx=`expr "<<$>>am_indx" + 1`
  done<<>>dnl>>)
  changequote([,]))])
  
  # Do all the work for Automake.  This macro actually does too much --
  # some checks are only needed if your package does certain things.
  # But this isn't really a big deal.
  
  # serial 1
  
  dnl Usage:
  dnl AM_INIT_AUTOMAKE(package,version, [no-define])
  
  AC_DEFUN(AM_INIT_AUTOMAKE,
  [AC_REQUIRE([AC_PROG_INSTALL])
  PACKAGE=[$1]
  AC_SUBST(PACKAGE)
  VERSION=[$2]
  AC_SUBST(VERSION)
  dnl test to see if srcdir already configured
  if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
  fi
  ifelse([$3],,
  AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
  AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
  AC_REQUIRE([AM_SANITY_CHECK])
  AC_REQUIRE([AC_ARG_PROGRAM])
  dnl FIXME This is truly gross.
  missing_dir=`cd $ac_aux_dir && pwd`
  AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
  AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
  AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
  AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
  AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
  AC_REQUIRE([AC_PROG_MAKE_SET])])
  
  #
  # Check to make sure that the build environment is sane.
  #
  
  AC_DEFUN(AM_SANITY_CHECK,
  [AC_MSG_CHECKING([whether build environment is sane])
  # Just in case
  sleep 1
  echo timestamp > conftestfile
  # Do `set' in a subshell so we don't clobber the current shell's
  # arguments.  Must try -L first in case configure is actually a
  # symlink; some systems play weird games with the mod time of symlinks
  # (eg FreeBSD returns the mod time of the symlink's containing
  # directory).
  if (
     set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
     if test "[$]*" = "X"; then
        # -L didn't work.
        set X `ls -t $srcdir/configure conftestfile`
     fi
     if test "[$]*" != "X $srcdir/configure conftestfile" \
        && test "[$]*" != "X conftestfile $srcdir/configure"; then
  
        # If neither matched, then we have a broken ls.  This can happen
        # if, for instance, CONFIG_SHELL is bash and it inherits a
        # broken ls alias from the environment.  This has actually
        # happened.  Such a system could not be considered "sane".
        AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
  alias in your environment])
     fi
  
     test "[$]2" = conftestfile
     )
  then
     # Ok.
     :
  else
     AC_MSG_ERROR([newly created file is older than distributed files!
  Check your system clock])
  fi
  rm -f conftest*
  AC_MSG_RESULT(yes)])
  
  dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
  dnl The program must properly implement --version.
  AC_DEFUN(AM_MISSING_PROG,
  [AC_MSG_CHECKING(for working $2)
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if ($2 --version) < /dev/null > /dev/null 2>&1; then
     $1=$2
     AC_MSG_RESULT(found)
  else
     $1="$3/missing $2"
     AC_MSG_RESULT(missing)
  fi
  AC_SUBST($1)])
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axis.kdevprj
  
  Index: axis.kdevprj
  ===================================================================
  # KDE Config File
  [axis/src/Message/RPCElement.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Transport/HttpTransport.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Transport/Receiver.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/QName.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Encoding/XMLType.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/Message.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/Channel.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Platform.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [Workspace_1]
  openfiles=Untitled.h,Untitled.cpp,
  show_outputview=false
  show_treeview=true
  header_file=Untitled.h
  cpp_file=Untitled.cpp
  browser_file=file:/usr/share/doc/HTML/default/kdevelop/welcome/index.html
  [axis/src/Encoding/SOAPEncoding.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/NsStack.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/Url.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/docs/Makefile.am]
  sub_dirs=
  type=normal
  [Config for BinMakefileAm]
  ldflags=
  addcxxflags=
  ldadd=
  cxxflags= -O0 -g3 -Wall
  bin_program=axis
  [axis/src/Client/Call.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/Makefile.am]
  files=axis/src/Message/Message.cpp,axis/src/Message/Message.hpp,axis/src/Message/MessageElement.cpp,axis/src/Message/MessageElement.hpp,axis/src/Message/RPCElement.cpp,axis/src/Message/RPCElement.hpp,axis/src/Message/RPCParam.cpp,axis/src/Message/RPCParam.hpp,axis/src/Message/SOAPBodyElement.cpp,axis/src/Message/SOAPBodyElement.hpp,axis/src/Message/SOAPEnvelope.cpp,axis/src/Message/SOAPEnvelope.hpp,axis/src/Message/SOAPHeader.cpp,axis/src/Message/SOAPHeader.hpp,axis/src/Message/SOAPMessage.cpp,axis/src/Message/SOAPMessage.hpp,axis/src/Message/SOAPMsgContext.cpp,axis/src/Message/SOAPMsgContext.hpp,
  type=static_library
  sub_dirs=
  [axis/docs/en/Makefile.am]
  sub_dirs=
  type=normal
  [axis/src/Message/MessageElement.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Encoding/Makefile.am]
  files=axis/src/Encoding/Param.cpp,axis/src/Encoding/Param.hpp,axis/src/Encoding/SOAPEncoding.cpp,axis/src/Encoding/SOAPEncoding.hpp,axis/src/Encoding/SerializerFactory.hpp,axis/src/Encoding/TypeMappingRegistry.cpp,axis/src/Encoding/TypeMappingRegistry.hpp,axis/src/Encoding/XMLType.cpp,axis/src/Encoding/XMLType.hpp,
  type=static_library
  sub_dirs=
  [axis/src/Message/SOAPBodyElement.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Client/Makefile.am]
  files=axis/src/Client/Call.cpp,axis/src/Client/Call.hpp,axis/src/Client/ServiceFactory.cpp,axis/src/Client/ServiceFactory.hpp,
  type=static_library
  sub_dirs=
  [axis/src/Encoding/TypeMappingRegistry.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/Param.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/Message.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Transport/Sender.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [LFV Groups]
  Others=*,
  groups=Headers,Sources,Others,
  Sources=*.cpp,*.c,*.cc,*.C,*.cxx,*.ec,*.ecpp,*.lxx,*.l++,*.ll,*.l,
  Headers=*.h,*.hh,*.hxx,*.hpp,*.H,
  [axis/src/Message/SOAPEnvelope.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Util/NsStack.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Xml/XMLSerializer.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis.kdevprj]
  install_location=
  dist=true
  install=false
  type=DATA
  [axis/src/Message/RPCElement.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Message/SOAPMessage.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/SOAPMsgContext.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Transport/HttpTransport.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/Receiver.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/XMLType.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/Channel.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Platform.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/Url.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/TypeMappingRegistry.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Message/RPCParam.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/TransportFactory.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Xml/XMLDeSerializer.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Client/ServiceFactory.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/Param.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/Sender.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Makefile.am]
  files=axis/src/Platform.cpp,axis/src/Platform.hpp,
  type=static_library
  sub_dirs=Client,Encoding,Message,Transport,Util,Xml,
  [axis/src/Message/SOAPHeader.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/Makefile.am]
  files=axis/src/Util/AttList.hpp,axis/src/Util/AxisConst.hpp,axis/src/Util/AxisException.cpp,axis/src/Util/AxisException.hpp,axis/src/Util/NsStack.cpp,axis/src/Util/NsStack.hpp,axis/src/Util/QName.cpp,axis/src/Util/QName.hpp,axis/src/Util/Url.cpp,axis/src/Util/Url.hpp,
  type=static_library
  sub_dirs=
  [axis/src/Xml/XMLSerializer.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Xml/XmlWriter.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Util/QName.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/SOAPBodyElement.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Message/SOAPMsgContext.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/AxisException.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Transport/Transport.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Client/Call.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Message/SOAPEnvelope.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [General]
  make_options= -j1
  makefiles=Makefile.am,axis/Makefile.am,axis/docs/Makefile.am,axis/docs/en/Makefile.am,axis/src/Client/Makefile.am,axis/src/Makefile.am,axis/src/Encoding/Makefile.am,axis/src/Message/Makefile.am,axis/src/Transport/Makefile.am,axis/src/Util/Makefile.am,axis/src/Xml/Makefile.am,
  version_control=None
  author=Lilantha
  project_type=normal_cpp
  sub_dir=axis/
  lfv_open_groups=Sources,
  workspace=1
  version=0.1
  project_name=Axis
  AMChanged=false
  short_info=,
  email=lilantha@erunway.com
  kdevprj_version=1.2
  modifyMakefiles=false
  [axis/src/Transport/TransportFactory.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/SerializerFactory.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/MessageElement.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/SOAPHeader.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Encoding/SOAPEncoding.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Message/SOAPMessage.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Util/AttList.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [Makefile.am]
  files=axis.kdevprj,
  sub_dirs=axis,
  type=normal
  [axis/src/Message/RPCParam.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Util/AxisException.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Xml/Makefile.am]
  files=axis/src/Xml/XMLDeSerializer.cpp,axis/src/Xml/XMLDeSerializer.hpp,axis/src/Xml/XMLSerializer.cpp,axis/src/Xml/XMLSerializer.hpp,axis/src/Xml/XercescConst.hpp,axis/src/Xml/XmlWriter.hpp,
  type=static_library
  sub_dirs=
  [axis/src/Xml/XMLDeSerializer.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/src/Client/ServiceFactory.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Transport/Transport.cpp]
  install_location=
  dist=true
  install=false
  type=SOURCE
  [axis/src/Xml/XercescConst.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  [axis/Makefile.am]
  sub_dirs=src,
  type=prog_main
  [axis/src/Transport/Makefile.am]
  files=axis/src/Transport/Channel.cpp,axis/src/Transport/Channel.hpp,axis/src/Transport/HttpTransport.cpp,axis/src/Transport/HttpTransport.hpp,axis/src/Transport/Receiver.cpp,axis/src/Transport/Receiver.hpp,axis/src/Transport/Sender.cpp,axis/src/Transport/Sender.hpp,axis/src/Transport/Transport.cpp,axis/src/Transport/Transport.hpp,axis/src/Transport/TransportFactory.cpp,axis/src/Transport/TransportFactory.hpp,
  type=static_library
  sub_dirs=
  [axis/src/Util/AxisConst.hpp]
  install_location=
  dist=true
  install=false
  type=HEADER
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/config.h.in
  
  Index: config.h.in
  ===================================================================
  /* config.h.in.  Generated automatically from configure.in by autoheader.  */
  
  /* Name of package */
  #undef PACKAGE
  
  /* Version number of package */
  #undef VERSION
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/config.status
  
  Index: config.status
  ===================================================================
  #! /bin/sh
  # Generated automatically by configure.
  # Run this file to recreate the current configuration.
  # This directory was configured as follows,
  # on host moon:
  #
  # ./configure 
  #
  # Compiler output produced by configure, useful for debugging
  # configure, is in ./config.log if it exists.
  
  ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
  for ac_option
  do
    case "$ac_option" in
    -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
      echo "running ${CONFIG_SHELL-/bin/sh} ./configure  --no-create --no-recursion"
      exec ${CONFIG_SHELL-/bin/sh} ./configure  --no-create --no-recursion ;;
    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
      echo "./config.status generated by autoconf version 2.13"
      exit 0 ;;
    -help | --help | --hel | --he | --h)
      echo "$ac_cs_usage"; exit 0 ;;
    *) echo "$ac_cs_usage"; exit 1 ;;
    esac
  done
  
  ac_given_srcdir=.
  ac_given_INSTALL="/usr/bin/install -c"
  
  trap 'rm -fr Makefile axis/Makefile axis/docs/Makefile axis/docs/en/Makefile axis/src/Client/Makefile axis/src/Makefile axis/src/Encoding/Makefile axis/src/Message/Makefile axis/src/Transport/Makefile axis/src/Util/Makefile axis/src/Xml/Makefile  config.h conftest*; exit 1' 1 2 15
  
  # Protect against being on the right side of a sed subst in config.status.
  sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
   s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
  /^[ 	]*VPATH[ 	]*=[^:]*$/d
  
  s%@SHELL@%/bin/sh%g
  s%@CFLAGS@%-g -O2%g
  s%@CPPFLAGS@%%g
  s%@CXXFLAGS@%-g -O2%g
  s%@FFLAGS@%%g
  s%@DEFS@%-DHAVE_CONFIG_H%g
  s%@LDFLAGS@%%g
  s%@LIBS@%%g
  s%@exec_prefix@%${prefix}%g
  s%@prefix@%/usr/local%g
  s%@program_transform_name@%s,x,x,%g
  s%@bindir@%${exec_prefix}/bin%g
  s%@sbindir@%${exec_prefix}/sbin%g
  s%@libexecdir@%${exec_prefix}/libexec%g
  s%@datadir@%${prefix}/share%g
  s%@sysconfdir@%${prefix}/etc%g
  s%@sharedstatedir@%${prefix}/com%g
  s%@localstatedir@%${prefix}/var%g
  s%@libdir@%${exec_prefix}/lib%g
  s%@includedir@%${prefix}/include%g
  s%@oldincludedir@%/usr/include%g
  s%@infodir@%${prefix}/info%g
  s%@mandir@%${prefix}/man%g
  s%@INSTALL_PROGRAM@%${INSTALL}%g
  s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g
  s%@INSTALL_DATA@%${INSTALL} -m 644%g
  s%@PACKAGE@%axis%g
  s%@VERSION@%0.1%g
  s%@ACLOCAL@%aclocal%g
  s%@AUTOCONF@%autoconf%g
  s%@AUTOMAKE@%automake%g
  s%@AUTOHEADER@%autoheader%g
  s%@MAKEINFO@%makeinfo%g
  s%@SET_MAKE@%%g
  s%@CC@%gcc%g
  s%@CXX@%c++%g
  s%@RANLIB@%ranlib%g
  
  CEOF
  
  # Split the substitutions into bite-sized pieces for seds with
  # small command number limits, like on Digital OSF/1 and HP-UX.
  ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
  ac_file=1 # Number of current file.
  ac_beg=1 # First line for current file.
  ac_end=$ac_max_sed_cmds # Line after last line for current file.
  ac_more_lines=:
  ac_sed_cmds=""
  while $ac_more_lines; do
    if test $ac_beg -gt 1; then
      sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
    else
      sed "${ac_end}q" conftest.subs > conftest.s$ac_file
    fi
    if test ! -s conftest.s$ac_file; then
      ac_more_lines=false
      rm -f conftest.s$ac_file
    else
      if test -z "$ac_sed_cmds"; then
        ac_sed_cmds="sed -f conftest.s$ac_file"
      else
        ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
      fi
      ac_file=`expr $ac_file + 1`
      ac_beg=$ac_end
      ac_end=`expr $ac_end + $ac_max_sed_cmds`
    fi
  done
  if test -z "$ac_sed_cmds"; then
    ac_sed_cmds=cat
  fi
  
  CONFIG_FILES=${CONFIG_FILES-"Makefile axis/Makefile axis/docs/Makefile axis/docs/en/Makefile axis/src/Client/Makefile axis/src/Makefile axis/src/Encoding/Makefile axis/src/Message/Makefile axis/src/Transport/Makefile axis/src/Util/Makefile axis/src/Xml/Makefile "}
  for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
    case "$ac_file" in
    *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
    esac
  
    # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
  
    # Remove last slash and all that follows it.  Not all systems have dirname.
    ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
    if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
      # The file is in a subdirectory.
      test ! -d "$ac_dir" && mkdir "$ac_dir"
      ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
      # A "../" for each directory in $ac_dir_suffix.
      ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
    else
      ac_dir_suffix= ac_dots=
    fi
  
    case "$ac_given_srcdir" in
    .)  srcdir=.
        if test -z "$ac_dots"; then top_srcdir=.
        else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
    /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
    *) # Relative path.
      srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
      top_srcdir="$ac_dots$ac_given_srcdir" ;;
    esac
  
    case "$ac_given_INSTALL" in
    [/$]*) INSTALL="$ac_given_INSTALL" ;;
    *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
    esac
  
    echo creating "$ac_file"
    rm -f "$ac_file"
    configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
    case "$ac_file" in
    *Makefile*) ac_comsub="1i\\
  # $configure_input" ;;
    *) ac_comsub= ;;
    esac
  
    ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
    sed -e "$ac_comsub
  s%@configure_input@%$configure_input%g
  s%@srcdir@%$srcdir%g
  s%@top_srcdir@%$top_srcdir%g
  s%@INSTALL@%$INSTALL%g
  " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
  fi; done
  rm -f conftest.s*
  
  # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
  # NAME is the cpp macro being defined and VALUE is the value it is being given.
  #
  # ac_d sets the value in "#define NAME VALUE" lines.
  ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
  ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
  ac_dC='\3'
  ac_dD='%g'
  # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
  ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
  ac_uB='\([ 	]\)%\1#\2define\3'
  ac_uC=' '
  ac_uD='\4%g'
  # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
  ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
  ac_eB='$%\1#\2define\3'
  ac_eC=' '
  ac_eD='%g'
  
  if test "${CONFIG_HEADERS+set}" != set; then
    CONFIG_HEADERS="config.h"
  fi
  for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
    case "$ac_file" in
    *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
    esac
  
    echo creating $ac_file
  
    rm -f conftest.frag conftest.in conftest.out
    ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
    cat $ac_file_inputs > conftest.in
  
    cat > conftest.frag <<CEOF
  ${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"axis"${ac_dD}
  ${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"axis"${ac_uD}
  ${ac_eA}PACKAGE${ac_eB}PACKAGE${ac_eC}"axis"${ac_eD}
  ${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"0.1"${ac_dD}
  ${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"0.1"${ac_uD}
  ${ac_eA}VERSION${ac_eB}VERSION${ac_eC}"0.1"${ac_eD}
  s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
  CEOF
    sed -f conftest.frag conftest.in > conftest.out
    rm -f conftest.in
    mv conftest.out conftest.in
  
    rm -f conftest.frag conftest.h
    echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
    cat conftest.in >> conftest.h
    rm -f conftest.in
    if cmp -s $ac_file conftest.h 2>/dev/null; then
      echo "$ac_file is unchanged"
      rm -f conftest.h
    else
      # Remove last slash and all that follows it.  Not all systems have dirname.
        ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
        if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
        # The file is in a subdirectory.
        test ! -d "$ac_dir" && mkdir "$ac_dir"
      fi
      rm -f $ac_file
      mv conftest.h $ac_file
    fi
  fi; done
  
  
  
  test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
  
  exit 0
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/configure
  
  Index: configure
  ===================================================================
  #! /bin/sh
  
  # Guess values for system-dependent variables and create Makefiles.
  # Generated automatically using autoconf version 2.13 
  # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
  #
  # This configure script is free software; the Free Software Foundation
  # gives unlimited permission to copy, distribute and modify it.
  
  # Defaults:
  ac_help=
  ac_default_prefix=/usr/local
  # Any additions from configure.in:
  
  # Initialize some variables set by options.
  # The variables have the same names as the options, with
  # dashes changed to underlines.
  build=NONE
  cache_file=./config.cache
  exec_prefix=NONE
  host=NONE
  no_create=
  nonopt=NONE
  no_recursion=
  prefix=NONE
  program_prefix=NONE
  program_suffix=NONE
  program_transform_name=s,x,x,
  silent=
  site=
  srcdir=
  target=NONE
  verbose=
  x_includes=NONE
  x_libraries=NONE
  bindir='${exec_prefix}/bin'
  sbindir='${exec_prefix}/sbin'
  libexecdir='${exec_prefix}/libexec'
  datadir='${prefix}/share'
  sysconfdir='${prefix}/etc'
  sharedstatedir='${prefix}/com'
  localstatedir='${prefix}/var'
  libdir='${exec_prefix}/lib'
  includedir='${prefix}/include'
  oldincludedir='/usr/include'
  infodir='${prefix}/info'
  mandir='${prefix}/man'
  
  # Initialize some other variables.
  subdirs=
  MFLAGS= MAKEFLAGS=
  SHELL=${CONFIG_SHELL-/bin/sh}
  # Maximum number of lines to put in a shell here document.
  ac_max_here_lines=12
  
  ac_prev=
  for ac_option
  do
  
    # If the previous option needs an argument, assign it.
    if test -n "$ac_prev"; then
      eval "$ac_prev=\$ac_option"
      ac_prev=
      continue
    fi
  
    case "$ac_option" in
    -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) ac_optarg= ;;
    esac
  
    # Accept the important Cygnus configure options, so we can diagnose typos.
  
    case "$ac_option" in
  
    -bindir | --bindir | --bindi | --bind | --bin | --bi)
      ac_prev=bindir ;;
    -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
      bindir="$ac_optarg" ;;
  
    -build | --build | --buil | --bui | --bu)
      ac_prev=build ;;
    -build=* | --build=* | --buil=* | --bui=* | --bu=*)
      build="$ac_optarg" ;;
  
    -cache-file | --cache-file | --cache-fil | --cache-fi \
    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
      ac_prev=cache_file ;;
    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
      cache_file="$ac_optarg" ;;
  
    -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
      ac_prev=datadir ;;
    -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
    | --da=*)
      datadir="$ac_optarg" ;;
  
    -disable-* | --disable-*)
      ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
      # Reject names that are not valid shell variable names.
      if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
        { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
      fi
      ac_feature=`echo $ac_feature| sed 's/-/_/g'`
      eval "enable_${ac_feature}=no" ;;
  
    -enable-* | --enable-*)
      ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
      # Reject names that are not valid shell variable names.
      if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
        { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
      fi
      ac_feature=`echo $ac_feature| sed 's/-/_/g'`
      case "$ac_option" in
        *=*) ;;
        *) ac_optarg=yes ;;
      esac
      eval "enable_${ac_feature}='$ac_optarg'" ;;
  
    -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
    | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
    | --exec | --exe | --ex)
      ac_prev=exec_prefix ;;
    -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
    | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
    | --exec=* | --exe=* | --ex=*)
      exec_prefix="$ac_optarg" ;;
  
    -gas | --gas | --ga | --g)
      # Obsolete; use --with-gas.
      with_gas=yes ;;
  
    -help | --help | --hel | --he)
      # Omit some internal or obsolete options to make the list less imposing.
      # This message is too long to be a string in the A/UX 3.1 sh.
      cat << EOF
  Usage: configure [options] [host]
  Options: [defaults in brackets after descriptions]
  Configuration:
    --cache-file=FILE       cache test results in FILE
    --help                  print this message
    --no-create             do not create output files
    --quiet, --silent       do not print \`checking...' messages
    --version               print the version of autoconf that created configure
  Directory and file names:
    --prefix=PREFIX         install architecture-independent files in PREFIX
                            [$ac_default_prefix]
    --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                            [same as prefix]
    --bindir=DIR            user executables in DIR [EPREFIX/bin]
    --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
    --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
    --datadir=DIR           read-only architecture-independent data in DIR
                            [PREFIX/share]
    --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
    --sharedstatedir=DIR    modifiable architecture-independent data in DIR
                            [PREFIX/com]
    --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
    --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
    --includedir=DIR        C header files in DIR [PREFIX/include]
    --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
    --infodir=DIR           info documentation in DIR [PREFIX/info]
    --mandir=DIR            man documentation in DIR [PREFIX/man]
    --srcdir=DIR            find the sources in DIR [configure dir or ..]
    --program-prefix=PREFIX prepend PREFIX to installed program names
    --program-suffix=SUFFIX append SUFFIX to installed program names
    --program-transform-name=PROGRAM
                            run sed PROGRAM on installed program names
  EOF
      cat << EOF
  Host type:
    --build=BUILD           configure for building on BUILD [BUILD=HOST]
    --host=HOST             configure for HOST [guessed]
    --target=TARGET         configure for TARGET [TARGET=HOST]
  Features and packages:
    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    --x-includes=DIR        X include files are in DIR
    --x-libraries=DIR       X library files are in DIR
  EOF
      if test -n "$ac_help"; then
        echo "--enable and --with options recognized:$ac_help"
      fi
      exit 0 ;;
  
    -host | --host | --hos | --ho)
      ac_prev=host ;;
    -host=* | --host=* | --hos=* | --ho=*)
      host="$ac_optarg" ;;
  
    -includedir | --includedir | --includedi | --included | --include \
    | --includ | --inclu | --incl | --inc)
      ac_prev=includedir ;;
    -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
    | --includ=* | --inclu=* | --incl=* | --inc=*)
      includedir="$ac_optarg" ;;
  
    -infodir | --infodir | --infodi | --infod | --info | --inf)
      ac_prev=infodir ;;
    -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
      infodir="$ac_optarg" ;;
  
    -libdir | --libdir | --libdi | --libd)
      ac_prev=libdir ;;
    -libdir=* | --libdir=* | --libdi=* | --libd=*)
      libdir="$ac_optarg" ;;
  
    -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
    | --libexe | --libex | --libe)
      ac_prev=libexecdir ;;
    -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
    | --libexe=* | --libex=* | --libe=*)
      libexecdir="$ac_optarg" ;;
  
    -localstatedir | --localstatedir | --localstatedi | --localstated \
    | --localstate | --localstat | --localsta | --localst \
    | --locals | --local | --loca | --loc | --lo)
      ac_prev=localstatedir ;;
    -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
    | --localstate=* | --localstat=* | --localsta=* | --localst=* \
    | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
      localstatedir="$ac_optarg" ;;
  
    -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
      ac_prev=mandir ;;
    -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
      mandir="$ac_optarg" ;;
  
    -nfp | --nfp | --nf)
      # Obsolete; use --without-fp.
      with_fp=no ;;
  
    -no-create | --no-create | --no-creat | --no-crea | --no-cre \
    | --no-cr | --no-c)
      no_create=yes ;;
  
    -no-recursion | --no-recursion | --no-recursio | --no-recursi \
    | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
      no_recursion=yes ;;
  
    -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
    | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
    | --oldin | --oldi | --old | --ol | --o)
      ac_prev=oldincludedir ;;
    -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
    | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
    | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
      oldincludedir="$ac_optarg" ;;
  
    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
      ac_prev=prefix ;;
    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
      prefix="$ac_optarg" ;;
  
    -program-prefix | --program-prefix | --program-prefi | --program-pref \
    | --program-pre | --program-pr | --program-p)
      ac_prev=program_prefix ;;
    -program-prefix=* | --program-prefix=* | --program-prefi=* \
    | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
      program_prefix="$ac_optarg" ;;
  
    -program-suffix | --program-suffix | --program-suffi | --program-suff \
    | --program-suf | --program-su | --program-s)
      ac_prev=program_suffix ;;
    -program-suffix=* | --program-suffix=* | --program-suffi=* \
    | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
      program_suffix="$ac_optarg" ;;
  
    -program-transform-name | --program-transform-name \
    | --program-transform-nam | --program-transform-na \
    | --program-transform-n | --program-transform- \
    | --program-transform | --program-transfor \
    | --program-transfo | --program-transf \
    | --program-trans | --program-tran \
    | --progr-tra | --program-tr | --program-t)
      ac_prev=program_transform_name ;;
    -program-transform-name=* | --program-transform-name=* \
    | --program-transform-nam=* | --program-transform-na=* \
    | --program-transform-n=* | --program-transform-=* \
    | --program-transform=* | --program-transfor=* \
    | --program-transfo=* | --program-transf=* \
    | --program-trans=* | --program-tran=* \
    | --progr-tra=* | --program-tr=* | --program-t=*)
      program_transform_name="$ac_optarg" ;;
  
    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
    | -silent | --silent | --silen | --sile | --sil)
      silent=yes ;;
  
    -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
      ac_prev=sbindir ;;
    -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
    | --sbi=* | --sb=*)
      sbindir="$ac_optarg" ;;
  
    -sharedstatedir | --sharedstatedir | --sharedstatedi \
    | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
    | --sharedst | --shareds | --shared | --share | --shar \
    | --sha | --sh)
      ac_prev=sharedstatedir ;;
    -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
    | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
    | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
    | --sha=* | --sh=*)
      sharedstatedir="$ac_optarg" ;;
  
    -site | --site | --sit)
      ac_prev=site ;;
    -site=* | --site=* | --sit=*)
      site="$ac_optarg" ;;
  
    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
      ac_prev=srcdir ;;
    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
      srcdir="$ac_optarg" ;;
  
    -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
    | --syscon | --sysco | --sysc | --sys | --sy)
      ac_prev=sysconfdir ;;
    -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
    | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
      sysconfdir="$ac_optarg" ;;
  
    -target | --target | --targe | --targ | --tar | --ta | --t)
      ac_prev=target ;;
    -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
      target="$ac_optarg" ;;
  
    -v | -verbose | --verbose | --verbos | --verbo | --verb)
      verbose=yes ;;
  
    -version | --version | --versio | --versi | --vers)
      echo "configure generated by autoconf version 2.13"
      exit 0 ;;
  
    -with-* | --with-*)
      ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
      # Reject names that are not valid shell variable names.
      if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
        { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
      fi
      ac_package=`echo $ac_package| sed 's/-/_/g'`
      case "$ac_option" in
        *=*) ;;
        *) ac_optarg=yes ;;
      esac
      eval "with_${ac_package}='$ac_optarg'" ;;
  
    -without-* | --without-*)
      ac_package=`echo $ac_option|sed -e 's/-*without-//'`
      # Reject names that are not valid shell variable names.
      if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
        { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
      fi
      ac_package=`echo $ac_package| sed 's/-/_/g'`
      eval "with_${ac_package}=no" ;;
  
    --x)
      # Obsolete; use --with-x.
      with_x=yes ;;
  
    -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
    | --x-incl | --x-inc | --x-in | --x-i)
      ac_prev=x_includes ;;
    -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
    | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
      x_includes="$ac_optarg" ;;
  
    -x-libraries | --x-libraries | --x-librarie | --x-librari \
    | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
      ac_prev=x_libraries ;;
    -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
    | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
      x_libraries="$ac_optarg" ;;
  
    -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
      ;;
  
    *)
      if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
        echo "configure: warning: $ac_option: invalid host type" 1>&2
      fi
      if test "x$nonopt" != xNONE; then
        { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
      fi
      nonopt="$ac_option"
      ;;
  
    esac
  done
  
  if test -n "$ac_prev"; then
    { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
  fi
  
  trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  
  # File descriptor usage:
  # 0 standard input
  # 1 file creation
  # 2 errors and warnings
  # 3 some systems may open it to /dev/tty
  # 4 used on the Kubota Titan
  # 6 checking for... messages and results
  # 5 compiler messages saved in config.log
  if test "$silent" = yes; then
    exec 6>/dev/null
  else
    exec 6>&1
  fi
  exec 5>./config.log
  
  echo "\
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  " 1>&5
  
  # Strip out --no-create and --no-recursion so they do not pile up.
  # Also quote any args containing shell metacharacters.
  ac_configure_args=
  for ac_arg
  do
    case "$ac_arg" in
    -no-create | --no-create | --no-creat | --no-crea | --no-cre \
    | --no-cr | --no-c) ;;
    -no-recursion | --no-recursion | --no-recursio | --no-recursi \
    | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
    ac_configure_args="$ac_configure_args '$ac_arg'" ;;
    *) ac_configure_args="$ac_configure_args $ac_arg" ;;
    esac
  done
  
  # NLS nuisances.
  # Only set these to C if already set.  These must not be set unconditionally
  # because not all systems understand e.g. LANG=C (notably SCO).
  # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
  # Non-C LC_CTYPE values break the ctype check.
  if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
  if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
  if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
  if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
  
  # confdefs.h avoids OS command line length limits that DEFS can exceed.
  rm -rf conftest* confdefs.h
  # AIX cpp loses on an empty file, so make sure it contains at least a newline.
  echo > confdefs.h
  
  # A filename unique to this package, relative to the directory that
  # configure is in, which we can look for to find out if srcdir is correct.
  ac_unique_file=Makefile.am
  
  # Find the source files, if location was not specified.
  if test -z "$srcdir"; then
    ac_srcdir_defaulted=yes
    # Try the directory containing this script, then its parent.
    ac_prog=$0
    ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
    test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
    srcdir=$ac_confdir
    if test ! -r $srcdir/$ac_unique_file; then
      srcdir=..
    fi
  else
    ac_srcdir_defaulted=no
  fi
  if test ! -r $srcdir/$ac_unique_file; then
    if test "$ac_srcdir_defaulted" = yes; then
      { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
    else
      { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
    fi
  fi
  srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
  
  # Prefer explicitly selected file to automatically selected ones.
  if test -z "$CONFIG_SITE"; then
    if test "x$prefix" != xNONE; then
      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
    else
      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
    fi
  fi
  for ac_site_file in $CONFIG_SITE; do
    if test -r "$ac_site_file"; then
      echo "loading site script $ac_site_file"
      . "$ac_site_file"
    fi
  done
  
  if test -r "$cache_file"; then
    echo "loading cache $cache_file"
    . $cache_file
  else
    echo "creating cache $cache_file"
    > $cache_file
  fi
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
  ac_exeext=
  ac_objext=o
  if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
    # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
    if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
      ac_n= ac_c='
  ' ac_t='	'
    else
      ac_n=-n ac_c= ac_t=
    fi
  else
    ac_n= ac_c='\c' ac_t=
  fi
  
  
  
  
  
  
  
  ac_aux_dir=
  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
    if test -f $ac_dir/install-sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install-sh -c"
      break
    elif test -f $ac_dir/install.sh; then
      ac_aux_dir=$ac_dir
      ac_install_sh="$ac_aux_dir/install.sh -c"
      break
    fi
  done
  if test -z "$ac_aux_dir"; then
    { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
  fi
  ac_config_guess=$ac_aux_dir/config.guess
  ac_config_sub=$ac_aux_dir/config.sub
  ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
  
  # Find a good install program.  We prefer a C program (faster),
  # so one script is as good as another.  But avoid the broken or
  # incompatible versions:
  # SysV /etc/install, /usr/sbin/install
  # SunOS /usr/etc/install
  # IRIX /sbin/install
  # AIX /bin/install
  # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  # ./install, which can be erroneously created by make from ./install.sh.
  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
  echo "configure:561: checking for a BSD compatible install" >&5
  if test -z "$INSTALL"; then
  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
      IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
    for ac_dir in $PATH; do
      # Account for people who put trailing slashes in PATH elements.
      case "$ac_dir/" in
      /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
      *)
        # OSF1 and SCO ODT 3.0 have their own names for install.
        # Don't use installbsd from OSF since it installs stuff as root
        # by default.
        for ac_prog in ginstall scoinst install; do
          if test -f $ac_dir/$ac_prog; then
  	  if test $ac_prog = install &&
              grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  	    # AIX install.  It has an incompatible calling convention.
  	    :
  	  else
  	    ac_cv_path_install="$ac_dir/$ac_prog -c"
  	    break 2
  	  fi
  	fi
        done
        ;;
      esac
    done
    IFS="$ac_save_IFS"
  
  fi
    if test "${ac_cv_path_install+set}" = set; then
      INSTALL="$ac_cv_path_install"
    else
      # As a last resort, use the slow shell script.  We don't cache a
      # path for INSTALL within a source directory, because that will
      # break other packages using the cache if that directory is
      # removed, or if the path is relative.
      INSTALL="$ac_install_sh"
    fi
  fi
  echo "$ac_t""$INSTALL" 1>&6
  
  # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
  # It thinks the first close brace ends the variable substitution.
  test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  
  test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
  
  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  
  echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
  echo "configure:614: checking whether build environment is sane" >&5
  # Just in case
  sleep 1
  echo timestamp > conftestfile
  # Do `set' in a subshell so we don't clobber the current shell's
  # arguments.  Must try -L first in case configure is actually a
  # symlink; some systems play weird games with the mod time of symlinks
  # (eg FreeBSD returns the mod time of the symlink's containing
  # directory).
  if (
     set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
     if test "$*" = "X"; then
        # -L didn't work.
        set X `ls -t $srcdir/configure conftestfile`
     fi
     if test "$*" != "X $srcdir/configure conftestfile" \
        && test "$*" != "X conftestfile $srcdir/configure"; then
  
        # If neither matched, then we have a broken ls.  This can happen
        # if, for instance, CONFIG_SHELL is bash and it inherits a
        # broken ls alias from the environment.  This has actually
        # happened.  Such a system could not be considered "sane".
        { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken
  alias in your environment" 1>&2; exit 1; }
     fi
  
     test "$2" = conftestfile
     )
  then
     # Ok.
     :
  else
     { echo "configure: error: newly created file is older than distributed files!
  Check your system clock" 1>&2; exit 1; }
  fi
  rm -f conftest*
  echo "$ac_t""yes" 1>&6
  if test "$program_transform_name" = s,x,x,; then
    program_transform_name=
  else
    # Double any \ or $.  echo might interpret backslashes.
    cat <<\EOF_SED > conftestsed
  s,\\,\\\\,g; s,\$,$$,g
  EOF_SED
    program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
    rm -f conftestsed
  fi
  test "$program_prefix" != NONE &&
    program_transform_name="s,^,${program_prefix},; $program_transform_name"
  # Use a double $ so make ignores it.
  test "$program_suffix" != NONE &&
    program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
  
  # sed with no file args requires a program.
  test "$program_transform_name" = "" && program_transform_name="s,x,x,"
  
  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
  echo "configure:671: checking whether ${MAKE-make} sets \${MAKE}" >&5
  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftestmake <<\EOF
  all:
  	@echo 'ac_maketemp="${MAKE}"'
  EOF
  # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
  if test -n "$ac_maketemp"; then
    eval ac_cv_prog_make_${ac_make}_set=yes
  else
    eval ac_cv_prog_make_${ac_make}_set=no
  fi
  rm -f conftestmake
  fi
  if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
    echo "$ac_t""yes" 1>&6
    SET_MAKE=
  else
    echo "$ac_t""no" 1>&6
    SET_MAKE="MAKE=${MAKE-make}"
  fi
  
  
  PACKAGE=axis
  
  VERSION=0.1
  
  if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
    { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
  fi
  cat >> confdefs.h <<EOF
  #define PACKAGE "$PACKAGE"
  EOF
  
  cat >> confdefs.h <<EOF
  #define VERSION "$VERSION"
  EOF
  
  
  
  missing_dir=`cd $ac_aux_dir && pwd`
  echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
  echo "configure:717: checking for working aclocal" >&5
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if (aclocal --version) < /dev/null > /dev/null 2>&1; then
     ACLOCAL=aclocal
     echo "$ac_t""found" 1>&6
  else
     ACLOCAL="$missing_dir/missing aclocal"
     echo "$ac_t""missing" 1>&6
  fi
  
  echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
  echo "configure:730: checking for working autoconf" >&5
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if (autoconf --version) < /dev/null > /dev/null 2>&1; then
     AUTOCONF=autoconf
     echo "$ac_t""found" 1>&6
  else
     AUTOCONF="$missing_dir/missing autoconf"
     echo "$ac_t""missing" 1>&6
  fi
  
  echo $ac_n "checking for working automake""... $ac_c" 1>&6
  echo "configure:743: checking for working automake" >&5
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if (automake --version) < /dev/null > /dev/null 2>&1; then
     AUTOMAKE=automake
     echo "$ac_t""found" 1>&6
  else
     AUTOMAKE="$missing_dir/missing automake"
     echo "$ac_t""missing" 1>&6
  fi
  
  echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
  echo "configure:756: checking for working autoheader" >&5
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if (autoheader --version) < /dev/null > /dev/null 2>&1; then
     AUTOHEADER=autoheader
     echo "$ac_t""found" 1>&6
  else
     AUTOHEADER="$missing_dir/missing autoheader"
     echo "$ac_t""missing" 1>&6
  fi
  
  echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
  echo "configure:769: checking for working makeinfo" >&5
  # Run test in a subshell; some versions of sh will print an error if
  # an executable is not found, even if stderr is redirected.
  # Redirect stdin to placate older versions of autoconf.  Sigh.
  if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
     MAKEINFO=makeinfo
     echo "$ac_t""found" 1>&6
  else
     MAKEINFO="$missing_dir/missing makeinfo"
     echo "$ac_t""missing" 1>&6
  fi
  
  
  
  # Extract the first word of "gcc", so it can be a program name with args.
  set dummy gcc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  echo "configure:786: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_prog_CC="gcc"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
  CC="$ac_cv_prog_CC"
  if test -n "$CC"; then
    echo "$ac_t""$CC" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  if test -z "$CC"; then
    # Extract the first word of "cc", so it can be a program name with args.
  set dummy cc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  echo "configure:816: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_prog_rejected=no
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
          ac_prog_rejected=yes
  	continue
        fi
        ac_cv_prog_CC="cc"
        break
      fi
    done
    IFS="$ac_save_ifs"
  if test $ac_prog_rejected = yes; then
    # We found a bogon in the path, so make sure we never use it.
    set dummy $ac_cv_prog_CC
    shift
    if test $# -gt 0; then
      # We chose a different compiler from the bogus one.
      # However, it has the same basename, so the bogon will be chosen
      # first if we set CC to just the basename; use the full file name.
      shift
      set dummy "$ac_dir/$ac_word" "$@"
      shift
      ac_cv_prog_CC="$@"
    fi
  fi
  fi
  fi
  CC="$ac_cv_prog_CC"
  if test -n "$CC"; then
    echo "$ac_t""$CC" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
    if test -z "$CC"; then
      case "`uname -s`" in
      *win32* | *WIN32*)
        # Extract the first word of "cl", so it can be a program name with args.
  set dummy cl; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  echo "configure:867: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_prog_CC="cl"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
  CC="$ac_cv_prog_CC"
  if test -n "$CC"; then
    echo "$ac_t""$CC" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   ;;
      esac
    fi
    test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
  fi
  
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
  echo "configure:899: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
  cat > conftest.$ac_ext << EOF
  
  #line 910 "configure"
  #include "confdefs.h"
  
  main(){return(0);}
  EOF
  if { (eval echo configure:915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    ac_cv_prog_cc_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
    if (./conftest; exit) 2>/dev/null; then
      ac_cv_prog_cc_cross=no
    else
      ac_cv_prog_cc_cross=yes
    fi
  else
    echo "configure: failed program was:" >&5
    cat conftest.$ac_ext >&5
    ac_cv_prog_cc_works=no
  fi
  rm -fr conftest*
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
  if test $ac_cv_prog_cc_works = no; then
    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
  echo "configure:941: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
  echo "configure:946: checking whether we are using GNU C" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.c <<EOF
  #ifdef __GNUC__
    yes;
  #endif
  EOF
  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:955: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gcc=yes
  else
    ac_cv_prog_gcc=no
  fi
  fi
  
  echo "$ac_t""$ac_cv_prog_gcc" 1>&6
  
  if test $ac_cv_prog_gcc = yes; then
    GCC=yes
  else
    GCC=
  fi
  
  ac_test_CFLAGS="${CFLAGS+set}"
  ac_save_CFLAGS="$CFLAGS"
  CFLAGS=
  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
  echo "configure:974: checking whether ${CC-cc} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    echo 'void f(){}' > conftest.c
  if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
    ac_cv_prog_cc_g=yes
  else
    ac_cv_prog_cc_g=no
  fi
  rm -f conftest*
  
  fi
  
  echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
  if test "$ac_test_CFLAGS" = set; then
    CFLAGS="$ac_save_CFLAGS"
  elif test $ac_cv_prog_cc_g = yes; then
    if test "$GCC" = yes; then
      CFLAGS="-g -O2"
    else
      CFLAGS="-g"
    fi
  else
    if test "$GCC" = yes; then
      CFLAGS="-O2"
    else
      CFLAGS=
    fi
  fi
  
  for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
  do
  # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  echo "configure:1010: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CXX"; then
    ac_cv_prog_CXX="$CXX" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_prog_CXX="$ac_prog"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
  CXX="$ac_cv_prog_CXX"
  if test -n "$CXX"; then
    echo "$ac_t""$CXX" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  test -n "$CXX" && break
  done
  test -n "$CXX" || CXX="gcc"
  
  
  echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
  echo "configure:1042: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
  
  ac_ext=C
  # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CXXCPP $CPPFLAGS'
  ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cxx_cross
  
  cat > conftest.$ac_ext << EOF
  
  #line 1053 "configure"
  #include "confdefs.h"
  
  int main(){return(0);}
  EOF
  if { (eval echo configure:1058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    ac_cv_prog_cxx_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
    if (./conftest; exit) 2>/dev/null; then
      ac_cv_prog_cxx_cross=no
    else
      ac_cv_prog_cxx_cross=yes
    fi
  else
    echo "configure: failed program was:" >&5
    cat conftest.$ac_ext >&5
    ac_cv_prog_cxx_works=no
  fi
  rm -fr conftest*
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
  if test $ac_cv_prog_cxx_works = no; then
    { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
  echo "configure:1084: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
  cross_compiling=$ac_cv_prog_cxx_cross
  
  echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
  echo "configure:1089: checking whether we are using GNU C++" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.C <<EOF
  #ifdef __GNUC__
    yes;
  #endif
  EOF
  if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gxx=yes
  else
    ac_cv_prog_gxx=no
  fi
  fi
  
  echo "$ac_t""$ac_cv_prog_gxx" 1>&6
  
  if test $ac_cv_prog_gxx = yes; then
    GXX=yes
  else
    GXX=
  fi
  
  ac_test_CXXFLAGS="${CXXFLAGS+set}"
  ac_save_CXXFLAGS="$CXXFLAGS"
  CXXFLAGS=
  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
  echo "configure:1117: checking whether ${CXX-g++} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    echo 'void f(){}' > conftest.cc
  if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
    ac_cv_prog_cxx_g=yes
  else
    ac_cv_prog_cxx_g=no
  fi
  rm -f conftest*
  
  fi
  
  echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
  if test "$ac_test_CXXFLAGS" = set; then
    CXXFLAGS="$ac_save_CXXFLAGS"
  elif test $ac_cv_prog_cxx_g = yes; then
    if test "$GXX" = yes; then
      CXXFLAGS="-g -O2"
    else
      CXXFLAGS="-g"
    fi
  else
    if test "$GXX" = yes; then
      CXXFLAGS="-O2"
    else
      CXXFLAGS=
    fi
  fi
  
  # Extract the first word of "ranlib", so it can be a program name with args.
  set dummy ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  echo "configure:1151: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$RANLIB"; then
    ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_prog_RANLIB="ranlib"
        break
      fi
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
  fi
  fi
  RANLIB="$ac_cv_prog_RANLIB"
  if test -n "$RANLIB"; then
    echo "$ac_t""$RANLIB" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  
  
  
  
  trap '' 1 2 15
  cat > confcache <<\EOF
  # This file is a shell script that caches the results of configure
  # tests run on this system so they can be shared between configure
  # scripts and configure runs.  It is not useful on other systems.
  # If it contains results you don't want to keep, you may remove or edit it.
  #
  # By default, configure uses ./config.cache as the cache file,
  # creating it if it does not exist already.  You can give configure
  # the --cache-file=FILE option to use a different cache file; that is
  # what configure does when it calls configure scripts in
  # subdirectories, so they share the cache.
  # Giving --cache-file=/dev/null disables caching, for debugging configure.
  # config.status only pays attention to the cache file if you give it the
  # --recheck option to rerun configure.
  #
  EOF
  # The following way of writing the cache mishandles newlines in values,
  # but we know of no workaround that is simple, portable, and efficient.
  # So, don't put newlines in cache variables' values.
  # Ultrix sh set writes to stderr and can't be redirected directly,
  # and sets the high bit in the cache file unless we assign to the vars.
  (set) 2>&1 |
    case `(ac_space=' '; set | grep ac_space) 2>&1` in
    *ac_space=\ *)
      # `set' does not quote correctly, so add quotes (double-quote substitution
      # turns \\\\ into \\, and sed turns \\ into \).
      sed -n \
        -e "s/'/'\\\\''/g" \
        -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
      ;;
    *)
      # `set' quotes correctly as required by POSIX, so do not add quotes.
      sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
      ;;
    esac >> confcache
  if cmp -s $cache_file confcache; then
    :
  else
    if test -w $cache_file; then
      echo "updating cache $cache_file"
      cat confcache > $cache_file
    else
      echo "not updating unwritable cache $cache_file"
    fi
  fi
  rm -f confcache
  
  trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  
  test "x$prefix" = xNONE && prefix=$ac_default_prefix
  # Let make expand exec_prefix.
  test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  
  # Any assignment to VPATH causes Sun make to only execute
  # the first set of double-colon rules, so remove it if not needed.
  # If there is a colon in the path, we need to keep it.
  if test "x$srcdir" = x.; then
    ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
  fi
  
  trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
  
  DEFS=-DHAVE_CONFIG_H
  
  # Without the "./", some shells look in PATH for config.status.
  : ${CONFIG_STATUS=./config.status}
  
  echo creating $CONFIG_STATUS
  rm -f $CONFIG_STATUS
  cat > $CONFIG_STATUS <<EOF
  #! /bin/sh
  # Generated automatically by configure.
  # Run this file to recreate the current configuration.
  # This directory was configured as follows,
  # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
  #
  # $0 $ac_configure_args
  #
  # Compiler output produced by configure, useful for debugging
  # configure, is in ./config.log if it exists.
  
  ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
  for ac_option
  do
    case "\$ac_option" in
    -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
      echo "$CONFIG_STATUS generated by autoconf version 2.13"
      exit 0 ;;
    -help | --help | --hel | --he | --h)
      echo "\$ac_cs_usage"; exit 0 ;;
    *) echo "\$ac_cs_usage"; exit 1 ;;
    esac
  done
  
  ac_given_srcdir=$srcdir
  ac_given_INSTALL="$INSTALL"
  
  trap 'rm -fr `echo "Makefile axis/Makefile axis/docs/Makefile axis/docs/en/Makefile axis/src/Client/Makefile axis/src/Makefile axis/src/Encoding/Makefile axis/src/Message/Makefile axis/src/Transport/Makefile axis/src/Util/Makefile axis/src/Xml/Makefile  config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
  EOF
  cat >> $CONFIG_STATUS <<EOF
  
  # Protect against being on the right side of a sed subst in config.status.
  sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
   s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
  $ac_vpsub
  $extrasub
  s%@SHELL@%$SHELL%g
  s%@CFLAGS@%$CFLAGS%g
  s%@CPPFLAGS@%$CPPFLAGS%g
  s%@CXXFLAGS@%$CXXFLAGS%g
  s%@FFLAGS@%$FFLAGS%g
  s%@DEFS@%$DEFS%g
  s%@LDFLAGS@%$LDFLAGS%g
  s%@LIBS@%$LIBS%g
  s%@exec_prefix@%$exec_prefix%g
  s%@prefix@%$prefix%g
  s%@program_transform_name@%$program_transform_name%g
  s%@bindir@%$bindir%g
  s%@sbindir@%$sbindir%g
  s%@libexecdir@%$libexecdir%g
  s%@datadir@%$datadir%g
  s%@sysconfdir@%$sysconfdir%g
  s%@sharedstatedir@%$sharedstatedir%g
  s%@localstatedir@%$localstatedir%g
  s%@libdir@%$libdir%g
  s%@includedir@%$includedir%g
  s%@oldincludedir@%$oldincludedir%g
  s%@infodir@%$infodir%g
  s%@mandir@%$mandir%g
  s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
  s%@INSTALL_DATA@%$INSTALL_DATA%g
  s%@PACKAGE@%$PACKAGE%g
  s%@VERSION@%$VERSION%g
  s%@ACLOCAL@%$ACLOCAL%g
  s%@AUTOCONF@%$AUTOCONF%g
  s%@AUTOMAKE@%$AUTOMAKE%g
  s%@AUTOHEADER@%$AUTOHEADER%g
  s%@MAKEINFO@%$MAKEINFO%g
  s%@SET_MAKE@%$SET_MAKE%g
  s%@CC@%$CC%g
  s%@CXX@%$CXX%g
  s%@RANLIB@%$RANLIB%g
  
  CEOF
  EOF
  
  cat >> $CONFIG_STATUS <<\EOF
  
  # Split the substitutions into bite-sized pieces for seds with
  # small command number limits, like on Digital OSF/1 and HP-UX.
  ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
  ac_file=1 # Number of current file.
  ac_beg=1 # First line for current file.
  ac_end=$ac_max_sed_cmds # Line after last line for current file.
  ac_more_lines=:
  ac_sed_cmds=""
  while $ac_more_lines; do
    if test $ac_beg -gt 1; then
      sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
    else
      sed "${ac_end}q" conftest.subs > conftest.s$ac_file
    fi
    if test ! -s conftest.s$ac_file; then
      ac_more_lines=false
      rm -f conftest.s$ac_file
    else
      if test -z "$ac_sed_cmds"; then
        ac_sed_cmds="sed -f conftest.s$ac_file"
      else
        ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
      fi
      ac_file=`expr $ac_file + 1`
      ac_beg=$ac_end
      ac_end=`expr $ac_end + $ac_max_sed_cmds`
    fi
  done
  if test -z "$ac_sed_cmds"; then
    ac_sed_cmds=cat
  fi
  EOF
  
  cat >> $CONFIG_STATUS <<EOF
  
  CONFIG_FILES=\${CONFIG_FILES-"Makefile axis/Makefile axis/docs/Makefile axis/docs/en/Makefile axis/src/Client/Makefile axis/src/Makefile axis/src/Encoding/Makefile axis/src/Message/Makefile axis/src/Transport/Makefile axis/src/Util/Makefile axis/src/Xml/Makefile "}
  EOF
  cat >> $CONFIG_STATUS <<\EOF
  for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
    case "$ac_file" in
    *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
    esac
  
    # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
  
    # Remove last slash and all that follows it.  Not all systems have dirname.
    ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
    if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
      # The file is in a subdirectory.
      test ! -d "$ac_dir" && mkdir "$ac_dir"
      ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
      # A "../" for each directory in $ac_dir_suffix.
      ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
    else
      ac_dir_suffix= ac_dots=
    fi
  
    case "$ac_given_srcdir" in
    .)  srcdir=.
        if test -z "$ac_dots"; then top_srcdir=.
        else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
    /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
    *) # Relative path.
      srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
      top_srcdir="$ac_dots$ac_given_srcdir" ;;
    esac
  
    case "$ac_given_INSTALL" in
    [/$]*) INSTALL="$ac_given_INSTALL" ;;
    *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
    esac
  
    echo creating "$ac_file"
    rm -f "$ac_file"
    configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
    case "$ac_file" in
    *Makefile*) ac_comsub="1i\\
  # $configure_input" ;;
    *) ac_comsub= ;;
    esac
  
    ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
    sed -e "$ac_comsub
  s%@configure_input@%$configure_input%g
  s%@srcdir@%$srcdir%g
  s%@top_srcdir@%$top_srcdir%g
  s%@INSTALL@%$INSTALL%g
  " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
  fi; done
  rm -f conftest.s*
  
  # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
  # NAME is the cpp macro being defined and VALUE is the value it is being given.
  #
  # ac_d sets the value in "#define NAME VALUE" lines.
  ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
  ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
  ac_dC='\3'
  ac_dD='%g'
  # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
  ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
  ac_uB='\([ 	]\)%\1#\2define\3'
  ac_uC=' '
  ac_uD='\4%g'
  # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
  ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
  ac_eB='$%\1#\2define\3'
  ac_eC=' '
  ac_eD='%g'
  
  if test "${CONFIG_HEADERS+set}" != set; then
  EOF
  cat >> $CONFIG_STATUS <<EOF
    CONFIG_HEADERS="config.h"
  EOF
  cat >> $CONFIG_STATUS <<\EOF
  fi
  for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
    # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
    case "$ac_file" in
    *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
         ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
    *) ac_file_in="${ac_file}.in" ;;
    esac
  
    echo creating $ac_file
  
    rm -f conftest.frag conftest.in conftest.out
    ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
    cat $ac_file_inputs > conftest.in
  
  EOF
  
  # Transform confdefs.h into a sed script conftest.vals that substitutes
  # the proper values into config.h.in to produce config.h.  And first:
  # Protect against being on the right side of a sed subst in config.status.
  # Protect against being in an unquoted here document in config.status.
  rm -f conftest.vals
  cat > conftest.hdr <<\EOF
  s/[\\&%]/\\&/g
  s%[\\$`]%\\&%g
  s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
  s%ac_d%ac_u%gp
  s%ac_u%ac_e%gp
  EOF
  sed -n -f conftest.hdr confdefs.h > conftest.vals
  rm -f conftest.hdr
  
  # This sed command replaces #undef with comments.  This is necessary, for
  # example, in the case of _POSIX_SOURCE, which is predefined and required
  # on some systems where configure will not decide to define it.
  cat >> conftest.vals <<\EOF
  s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
  EOF
  
  # Break up conftest.vals because some shells have a limit on
  # the size of here documents, and old seds have small limits too.
  
  rm -f conftest.tail
  while :
  do
    ac_lines=`grep -c . conftest.vals`
    # grep -c gives empty output for an empty file on some AIX systems.
    if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
    # Write a limited-size here document to conftest.frag.
    echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
    sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
    echo 'CEOF
    sed -f conftest.frag conftest.in > conftest.out
    rm -f conftest.in
    mv conftest.out conftest.in
  ' >> $CONFIG_STATUS
    sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
    rm -f conftest.vals
    mv conftest.tail conftest.vals
  done
  rm -f conftest.vals
  
  cat >> $CONFIG_STATUS <<\EOF
    rm -f conftest.frag conftest.h
    echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
    cat conftest.in >> conftest.h
    rm -f conftest.in
    if cmp -s $ac_file conftest.h 2>/dev/null; then
      echo "$ac_file is unchanged"
      rm -f conftest.h
    else
      # Remove last slash and all that follows it.  Not all systems have dirname.
        ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
        if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
        # The file is in a subdirectory.
        test ! -d "$ac_dir" && mkdir "$ac_dir"
      fi
      rm -f $ac_file
      mv conftest.h $ac_file
    fi
  fi; done
  
  EOF
  cat >> $CONFIG_STATUS <<EOF
  
  
  EOF
  cat >> $CONFIG_STATUS <<\EOF
  test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
  
  exit 0
  EOF
  chmod +x $CONFIG_STATUS
  rm -fr confdefs* $ac_clean_files
  test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/configure.in
  
  Index: configure.in
  ===================================================================
  dnl Process this file with autoconf to produce a configure script.
  AC_INIT(Makefile.am)
  
  AM_CONFIG_HEADER(config.h)
  
  AM_INIT_AUTOMAKE(axis,0.1)
  
  dnl Checks for programs.
  AC_PROG_CC
  AC_PROG_CXX
  AC_PROG_RANLIB
  dnl Checks for libraries.
  
  dnl Checks for header files.
  
  dnl Checks for typedefs, structures, and compiler characteristics.
  
  dnl Checks for library functions.
  
  AC_OUTPUT(Makefile axis/Makefile axis/docs/Makefile axis/docs/en/Makefile axis/src/Client/Makefile axis/src/Makefile axis/src/Encoding/Makefile axis/src/Message/Makefile axis/src/Transport/Makefile axis/src/Util/Makefile axis/src/Xml/Makefile )
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/install-sh
  
  Index: install-sh
  ===================================================================
  #!/bin/sh
  #
  # install - install a program, script, or datafile
  # This comes from X11R5 (mit/util/scripts/install.sh).
  #
  # Copyright 1991 by the Massachusetts Institute of Technology
  #
  # Permission to use, copy, modify, distribute, and sell this software and its
  # documentation for any purpose is hereby granted without fee, provided that
  # the above copyright notice appear in all copies and that both that
  # copyright notice and this permission notice appear in supporting
  # documentation, and that the name of M.I.T. not be used in advertising or
  # publicity pertaining to distribution of the software without specific,
  # written prior permission.  M.I.T. makes no representations about the
  # suitability of this software for any purpose.  It is provided "as is"
  # without express or implied warranty.
  #
  # Calling this script install-sh is preferred over install.sh, to prevent
  # `make' implicit rules from creating a file called install from it
  # when there is no Makefile.
  #
  # This script is compatible with the BSD install script, but was written
  # from scratch.  It can only install one file at a time, a restriction
  # shared with many OS's install programs.
  
  
  # set DOITPROG to echo to test this script
  
  # Don't use :- since 4.3BSD and earlier shells don't like it.
  doit="${DOITPROG-}"
  
  
  # put in absolute paths if you don't have them in your path; or use env. vars.
  
  mvprog="${MVPROG-mv}"
  cpprog="${CPPROG-cp}"
  chmodprog="${CHMODPROG-chmod}"
  chownprog="${CHOWNPROG-chown}"
  chgrpprog="${CHGRPPROG-chgrp}"
  stripprog="${STRIPPROG-strip}"
  rmprog="${RMPROG-rm}"
  mkdirprog="${MKDIRPROG-mkdir}"
  
  transformbasename=""
  transform_arg=""
  instcmd="$mvprog"
  chmodcmd="$chmodprog 0755"
  chowncmd=""
  chgrpcmd=""
  stripcmd=""
  rmcmd="$rmprog -f"
  mvcmd="$mvprog"
  src=""
  dst=""
  dir_arg=""
  
  while [ x"$1" != x ]; do
      case $1 in
  	-c) instcmd="$cpprog"
  	    shift
  	    continue;;
  
  	-d) dir_arg=true
  	    shift
  	    continue;;
  
  	-m) chmodcmd="$chmodprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-o) chowncmd="$chownprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-g) chgrpcmd="$chgrpprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-s) stripcmd="$stripprog"
  	    shift
  	    continue;;
  
  	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
  	    shift
  	    continue;;
  
  	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
  	    shift
  	    continue;;
  
  	*)  if [ x"$src" = x ]
  	    then
  		src=$1
  	    else
  		# this colon is to work around a 386BSD /bin/sh bug
  		:
  		dst=$1
  	    fi
  	    shift
  	    continue;;
      esac
  done
  
  if [ x"$src" = x ]
  then
  	echo "install:	no input file specified"
  	exit 1
  else
  	true
  fi
  
  if [ x"$dir_arg" != x ]; then
  	dst=$src
  	src=""
  	
  	if [ -d $dst ]; then
  		instcmd=:
  	else
  		instcmd=mkdir
  	fi
  else
  
  # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
  # might cause directories to be created, which would be especially bad 
  # if $src (and thus $dsttmp) contains '*'.
  
  	if [ -f $src -o -d $src ]
  	then
  		true
  	else
  		echo "install:  $src does not exist"
  		exit 1
  	fi
  	
  	if [ x"$dst" = x ]
  	then
  		echo "install:	no destination specified"
  		exit 1
  	else
  		true
  	fi
  
  # If destination is a directory, append the input filename; if your system
  # does not like double slashes in filenames, you may need to add some logic
  
  	if [ -d $dst ]
  	then
  		dst="$dst"/`basename $src`
  	else
  		true
  	fi
  fi
  
  ## this sed command emulates the dirname command
  dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
  
  # Make sure that the destination directory exists.
  #  this part is taken from Noah Friedman's mkinstalldirs script
  
  # Skip lots of stat calls in the usual case.
  if [ ! -d "$dstdir" ]; then
  defaultIFS='	
  '
  IFS="${IFS-${defaultIFS}}"
  
  oIFS="${IFS}"
  # Some sh's can't handle IFS=/ for some reason.
  IFS='%'
  set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
  IFS="${oIFS}"
  
  pathcomp=''
  
  while [ $# -ne 0 ] ; do
  	pathcomp="${pathcomp}${1}"
  	shift
  
  	if [ ! -d "${pathcomp}" ] ;
          then
  		$mkdirprog "${pathcomp}"
  	else
  		true
  	fi
  
  	pathcomp="${pathcomp}/"
  done
  fi
  
  if [ x"$dir_arg" != x ]
  then
  	$doit $instcmd $dst &&
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
  else
  
  # If we're going to rename the final executable, determine the name now.
  
  	if [ x"$transformarg" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		dstfile=`basename $dst $transformbasename | 
  			sed $transformarg`$transformbasename
  	fi
  
  # don't allow the sed command to completely eliminate the filename
  
  	if [ x"$dstfile" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		true
  	fi
  
  # Make a temp file name in the proper directory.
  
  	dsttmp=$dstdir/#inst.$$#
  
  # Move or copy the file name to the temp name
  
  	$doit $instcmd $src $dsttmp &&
  
  	trap "rm -f ${dsttmp}" 0 &&
  
  # and set any options; do chmod last to preserve setuid bits
  
  # If any of these fail, we abort the whole thing.  If we want to
  # ignore errors from any of these, just make sure not to ignore
  # errors from the above "$doit $instcmd $src $dsttmp" command.
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
  
  # Now rename the file to the real destination.
  
  	$doit $rmcmd -f $dstdir/$dstfile &&
  	$doit $mvcmd $dsttmp $dstdir/$dstfile 
  
  fi &&
  
  
  exit 0
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/missing
  
  Index: missing
  ===================================================================
  #! /bin/sh
  # Common stub for a few missing GNU programs while installing.
  # Copyright (C) 1996, 1997 Free Software Foundation, Inc.
  # Franc,ois Pinard <pi...@iro.umontreal.ca>, 1996.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation; either version 2, or (at your option)
  # any later version.
  
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  # 02111-1307, USA.
  
  if test $# -eq 0; then
    echo 1>&2 "Try \`$0 --help' for more information"
    exit 1
  fi
  
  case "$1" in
  
    -h|--h|--he|--hel|--help)
      echo "\
  $0 [OPTION]... PROGRAM [ARGUMENT]...
  
  Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
  error status if there is no known handling for PROGRAM.
  
  Options:
    -h, --help      display this help and exit
    -v, --version   output version information and exit
  
  Supported PROGRAM values:
    aclocal      touch file \`aclocal.m4'
    autoconf     touch file \`configure'
    autoheader   touch file \`config.h.in'
    automake     touch all \`Makefile.in' files
    bison        create \`y.tab.[ch]', if possible, from existing .[ch]
    flex         create \`lex.yy.c', if possible, from existing .c
    lex          create \`lex.yy.c', if possible, from existing .c
    makeinfo     touch the output file
    yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
      ;;
  
    -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
      echo "missing - GNU libit 0.0"
      ;;
  
    -*)
      echo 1>&2 "$0: Unknown \`$1' option"
      echo 1>&2 "Try \`$0 --help' for more information"
      exit 1
      ;;
  
    aclocal)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified \`acinclude.m4' or \`configure.in'.  You might want
           to install the \`Automake' and \`Perl' packages.  Grab them from
           any GNU archive site."
      touch aclocal.m4
      ;;
  
    autoconf)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified \`configure.in'.  You might want to install the
           \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
           archive site."
      touch configure
      ;;
  
    autoheader)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified \`acconfig.h' or \`configure.in'.  You might want
           to install the \`Autoconf' and \`GNU m4' packages.  Grab them
           from any GNU archive site."
      files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
      if test -z "$files"; then
        files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
        test -z "$files" || files="$files.in"
      else
        files=`echo "$files" | sed -e 's/:/ /g'`
      fi
      test -z "$files" && files="config.h.in"
      touch $files
      ;;
  
    automake)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
           You might want to install the \`Automake' and \`Perl' packages.
           Grab them from any GNU archive site."
      find . -type f -name Makefile.am -print \
        | sed 's/^\(.*\).am$/touch \1.in/' \
        | sh
      ;;
  
    bison|yacc)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified a \`.y' file.  You may need the \`Bison' package
           in order for those modifications to take effect.  You can get
           \`Bison' from any GNU archive site."
      rm -f y.tab.c y.tab.h
      if [ $# -ne 1 ]; then
          eval LASTARG="\${$#}"
  	case "$LASTARG" in
  	*.y)
  	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
  	    if [ -f "$SRCFILE" ]; then
  	         cp "$SRCFILE" y.tab.c
  	    fi
  	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
  	    if [ -f "$SRCFILE" ]; then
  	         cp "$SRCFILE" y.tab.h
  	    fi
  	  ;;
  	esac
      fi
      if [ ! -f y.tab.h ]; then
  	echo >y.tab.h
      fi
      if [ ! -f y.tab.c ]; then
  	echo 'main() { return 0; }' >y.tab.c
      fi
      ;;
  
    lex|flex)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified a \`.l' file.  You may need the \`Flex' package
           in order for those modifications to take effect.  You can get
           \`Flex' from any GNU archive site."
      rm -f lex.yy.c
      if [ $# -ne 1 ]; then
          eval LASTARG="\${$#}"
  	case "$LASTARG" in
  	*.l)
  	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
  	    if [ -f "$SRCFILE" ]; then
  	         cp "$SRCFILE" lex.yy.c
  	    fi
  	  ;;
  	esac
      fi
      if [ ! -f lex.yy.c ]; then
  	echo 'main() { return 0; }' >lex.yy.c
      fi
      ;;
  
    makeinfo)
      echo 1>&2 "\
  WARNING: \`$1' is missing on your system.  You should only need it if
           you modified a \`.texi' or \`.texinfo' file, or any other file
           indirectly affecting the aspect of the manual.  The spurious
           call might also be the consequence of using a buggy \`make' (AIX,
           DU, IRIX).  You might want to install the \`Texinfo' package or
           the \`GNU make' package.  Grab either from any GNU archive site."
      file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
      if test -z "$file"; then
        file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
        file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
      fi
      touch $file
      ;;
  
    *)
      echo 1>&2 "\
  WARNING: \`$1' is needed, and you do not seem to have it handy on your
           system.  You might have modified some files without having the
           proper tools for further handling them.  Check the \`README' file,
           it often tells you about the needed prerequirements for installing
           this package.  You may also peek at any GNU archive site, in case
           some other package would contain this missing \`$1' program."
      exit 1
      ;;
  esac
  
  exit 0
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/mkinstalldirs
  
  Index: mkinstalldirs
  ===================================================================
  #! /bin/sh
  # mkinstalldirs --- make directory hierarchy
  # Author: Noah Friedman <fr...@prep.ai.mit.edu>
  # Created: 1993-05-16
  # Public domain
  
  # $Id: mkinstalldirs,v 1.1 2002/03/22 00:41:32 sanjiva Exp $
  
  errstatus=0
  
  for file
  do
     set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     shift
  
     pathcomp=
     for d
     do
       pathcomp="$pathcomp$d"
       case "$pathcomp" in
         -* ) pathcomp=./$pathcomp ;;
       esac
  
       if test ! -d "$pathcomp"; then
          echo "mkdir $pathcomp" 1>&2
  
          mkdir "$pathcomp" || lasterr=$?
  
          if test ! -d "$pathcomp"; then
    	  errstatus=$lasterr
          fi
       fi
  
       pathcomp="$pathcomp/"
     done
  done
  
  exit $errstatus
  
  # mkinstalldirs ends here
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/stamp-h.in
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  ####### kdevelop will overwrite this part!!! (begin)##########
  
  SUBDIRS = axtest 
  
  EXTRA_DIST = axtest.kdevprj 
  
  ####### kdevelop will overwrite this part!!! (end)############
  AUTOMAKE_OPTIONS = foreign
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/Makefile.dist
  
  Index: Makefile.dist
  ===================================================================
  default: all
  
  dist:
  	@echo "This file is to make it easier for you to create all you need"
  	aclocal
  	autoheader
  # use --include-deps, if you want to release the stuff. Don't use it for
  # yourself
  	automake --include-deps
  	autoconf
  	touch stamp-h.in
  	LIST=`find ./po -name "*.po"`; \
  	for i in $$LIST; do \
  	 file2=`echo $$i | sed -e "s#\.po#\.gmo#"`; \
  	 msgfmt -o $$file2 $$i; \
  	done 
  	rm -f Makefile.dist
  
  all:
  	aclocal
  	autoheader
  	automake
  	autoconf
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/acconfig.h
  
  Index: acconfig.h
  ===================================================================
  /* Define if the C++ compiler supports BOOL */
  #undef HAVE_BOOL
  
  #undef VERSION
  
  #undef PACKAGE
  
  /* Define if you need the GNU extensions to compile */
  #undef _GNU_SOURCE
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/configure.in
  
  Index: configure.in
  ===================================================================
  dnl Process this file with autoconf to produce a configure script.
  AC_INIT(Makefile.am)
  
  AM_CONFIG_HEADER(config.h)
  
  AM_INIT_AUTOMAKE(axtest,0.1)
  
  dnl Checks for programs.
  AC_PROG_CC
  AC_PROG_CXX
  AC_PROG_RANLIB
  dnl Checks for libraries.
  
  dnl Checks for header files.
  
  dnl Checks for typedefs, structures, and compiler characteristics.
  
  dnl Checks for library functions.
  
  AC_OUTPUT(Makefile axtest/Makefile axtest/docs/Makefile axtest/docs/en/Makefile axtest/TestHarnesses/Makefile )
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Linux/KDev/axis/axtest/install-sh
  
  Index: install-sh
  ===================================================================
  #!/bin/sh
  #
  # install - install a program, script, or datafile
  # This comes from X11R5 (mit/util/scripts/install.sh).
  #
  # Copyright 1991 by the Massachusetts Institute of Technology
  #
  # Permission to use, copy, modify, distribute, and sell this software and its
  # documentation for any purpose is hereby granted without fee, provided that
  # the above copyright notice appear in all copies and that both that
  # copyright notice and this permission notice appear in supporting
  # documentation, and that the name of M.I.T. not be used in advertising or
  # publicity pertaining to distribution of the software without specific,
  # written prior permission.  M.I.T. makes no representations about the
  # suitability of this software for any purpose.  It is provided "as is"
  # without express or implied warranty.
  #
  # Calling this script install-sh is preferred over install.sh, to prevent
  # `make' implicit rules from creating a file called install from it
  # when there is no Makefile.
  #
  # This script is compatible with the BSD install script, but was written
  # from scratch.  It can only install one file at a time, a restriction
  # shared with many OS's install programs.
  
  
  # set DOITPROG to echo to test this script
  
  # Don't use :- since 4.3BSD and earlier shells don't like it.
  doit="${DOITPROG-}"
  
  
  # put in absolute paths if you don't have them in your path; or use env. vars.
  
  mvprog="${MVPROG-mv}"
  cpprog="${CPPROG-cp}"
  chmodprog="${CHMODPROG-chmod}"
  chownprog="${CHOWNPROG-chown}"
  chgrpprog="${CHGRPPROG-chgrp}"
  stripprog="${STRIPPROG-strip}"
  rmprog="${RMPROG-rm}"
  mkdirprog="${MKDIRPROG-mkdir}"
  
  transformbasename=""
  transform_arg=""
  instcmd="$mvprog"
  chmodcmd="$chmodprog 0755"
  chowncmd=""
  chgrpcmd=""
  stripcmd=""
  rmcmd="$rmprog -f"
  mvcmd="$mvprog"
  src=""
  dst=""
  dir_arg=""
  
  while [ x"$1" != x ]; do
      case $1 in
  	-c) instcmd="$cpprog"
  	    shift
  	    continue;;
  
  	-d) dir_arg=true
  	    shift
  	    continue;;
  
  	-m) chmodcmd="$chmodprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-o) chowncmd="$chownprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-g) chgrpcmd="$chgrpprog $2"
  	    shift
  	    shift
  	    continue;;
  
  	-s) stripcmd="$stripprog"
  	    shift
  	    continue;;
  
  	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
  	    shift
  	    continue;;
  
  	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
  	    shift
  	    continue;;
  
  	*)  if [ x"$src" = x ]
  	    then
  		src=$1
  	    else
  		# this colon is to work around a 386BSD /bin/sh bug
  		:
  		dst=$1
  	    fi
  	    shift
  	    continue;;
      esac
  done
  
  if [ x"$src" = x ]
  then
  	echo "install:	no input file specified"
  	exit 1
  else
  	true
  fi
  
  if [ x"$dir_arg" != x ]; then
  	dst=$src
  	src=""
  	
  	if [ -d $dst ]; then
  		instcmd=:
  	else
  		instcmd=mkdir
  	fi
  else
  
  # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
  # might cause directories to be created, which would be especially bad 
  # if $src (and thus $dsttmp) contains '*'.
  
  	if [ -f $src -o -d $src ]
  	then
  		true
  	else
  		echo "install:  $src does not exist"
  		exit 1
  	fi
  	
  	if [ x"$dst" = x ]
  	then
  		echo "install:	no destination specified"
  		exit 1
  	else
  		true
  	fi
  
  # If destination is a directory, append the input filename; if your system
  # does not like double slashes in filenames, you may need to add some logic
  
  	if [ -d $dst ]
  	then
  		dst="$dst"/`basename $src`
  	else
  		true
  	fi
  fi
  
  ## this sed command emulates the dirname command
  dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
  
  # Make sure that the destination directory exists.
  #  this part is taken from Noah Friedman's mkinstalldirs script
  
  # Skip lots of stat calls in the usual case.
  if [ ! -d "$dstdir" ]; then
  defaultIFS='	
  '
  IFS="${IFS-${defaultIFS}}"
  
  oIFS="${IFS}"
  # Some sh's can't handle IFS=/ for some reason.
  IFS='%'
  set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
  IFS="${oIFS}"
  
  pathcomp=''
  
  while [ $# -ne 0 ] ; do
  	pathcomp="${pathcomp}${1}"
  	shift
  
  	if [ ! -d "${pathcomp}" ] ;
          then
  		$mkdirprog "${pathcomp}"
  	else
  		true
  	fi
  
  	pathcomp="${pathcomp}/"
  done
  fi
  
  if [ x"$dir_arg" != x ]
  then
  	$doit $instcmd $dst &&
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
  else
  
  # If we're going to rename the final executable, determine the name now.
  
  	if [ x"$transformarg" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		dstfile=`basename $dst $transformbasename | 
  			sed $transformarg`$transformbasename
  	fi
  
  # don't allow the sed command to completely eliminate the filename
  
  	if [ x"$dstfile" = x ] 
  	then
  		dstfile=`basename $dst`
  	else
  		true
  	fi
  
  # Make a temp file name in the proper directory.
  
  	dsttmp=$dstdir/#inst.$$#
  
  # Move or copy the file name to the temp name
  
  	$doit $instcmd $src $dsttmp &&
  
  	trap "rm -f ${dsttmp}" 0 &&
  
  # and set any options; do chmod last to preserve setuid bits
  
  # If any of these fail, we abort the whole thing.  If we want to
  # ignore errors from any of these, just make sure not to ignore
  # errors from the above "$doit $instcmd $src $dsttmp" command.
  
  	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
  	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
  	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
  	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
  
  # Now rename the file to the real destination.
  
  	$doit $rmcmd -f $dstdir/$dstfile &&
  	$doit $mvcmd $dsttmp $dstdir/$dstfile 
  
  fi &&
  
  
  exit 0
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Axis_client.cpp
  
  Index: Axis_client.cpp
  ===================================================================
  // Axis_client_lib.cpp : A simple Testharness
  //
  
  #include "Platform.hpp"
  #include <iostream>
  #include "ServiceFactory.hpp"
  #include "Call.hpp" 
  
  
  void main(int argc, char* argv[])
  {
  	const std::string endpoint = "http://nagoya.apache.org:5049/axis/servlet/AxisServlet";
  
  	Call  *call = ServiceFactory::CreateCall();
  
  	std::string value = "Hello World!";
  
  	call->SetTargetEndpointAddress(endpoint.c_str());
  	call->AddParameter("string-arg", value, Call::IN_PARAM);
  	call->SetOperationName("echoString");
  	call->SetMethodNamespaceURI("http://soapinterop.org/");
  
  	void* ret = call->Invoke();
  
  	if(ret)
  	{
  		std::cout << "The Result: " << (*(std::string*)ret) << std::endl << std::endl;
  
  		delete (std::string*)ret; 
  	}
  
  	delete call;
  }
  
  
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Calculator.cpp
  
  Index: Calculator.cpp
  ===================================================================
  // Calculator.cpp : A simple Testharness
  //
  
  #include "Platform.hpp"
  #include <iostream>
  #include "ServiceFactory.hpp"
  #include "Call.hpp" 
  
  
  void main(int argc, char* argv[])
  {
  	const std::string endpoint = "http://127.0.0.1:8080/axis/Calculator.jws";
  
  	Call  *call = ServiceFactory::CreateCall();
  
  	int a = 100;
  	int b = 200;
  
  	call->SetTargetEndpointAddress(endpoint.c_str());
      call->AddParameter("a", a, Call::IN_PARAM);
  	call->AddParameter("b", b, Call::IN_PARAM);
      call->SetOperationName("add");
  	
  	void* ret = call->Invoke();
  
  	// The result should be casted to the user required type 
  	if(ret)
  	{
  		std::cout << "The Accumulated Result: " << (*(int*)ret) << std::endl;
  
  		delete (int*)ret; 
  	}
  
  	call->SetOperationName("subtract");
  	
  	ret = call->Invoke();
  
  	// The result should be casted to the user required type
  	if(ret)
  	{
  		std::cout << "The Subtracted Result: " << (*(int*)ret) << std::endl;
  
  		delete (int*)ret; 
  	}
  
  	call->SetOperationName("multiply");
  	ret = call->Invoke();
  
  	// The result should be casted to the user required type
  	if(ret)
  	{
  		std::cout << "The Multiplied Result: " << (*(int*)ret) << std::endl;
  
  		delete (int*)ret; 
  	}
  
  	delete call;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Fault.cpp
  
  Index: Fault.cpp
  ===================================================================
  //  A simple Testharness to check SOAP faults
  //
  
  #include "Platform.hpp"
  #include <iostream>
  #include "ServiceFactory.hpp"
  #include "Call.hpp" 
  
  
  void main(int argc, char* argv[])
  {
  	const std::string endpoint = "http://nagoya.apache.org:5049/axis/servlet/AxisServlet";
  
  	Call  *call = ServiceFactory::CreateCall();
  
  	std::string value = "Welcome Axis C++ OpenSource!";
  
  	call->SetTargetEndpointAddress(endpoint.c_str());
      call->AddParameter("string-arg", value, Call::IN_PARAM);
  
  	//Here call invalid method instead of echoString
      call->SetOperationName("echoFaultString");
  
      call->SetMethodNamespaceURI("http://soapinterop.org/");
  	
  	void* ret = call->Invoke();
  
  	if(ret)
  	{
  		std::cout << "The Result: " << (*(std::string*)ret) << std::endl << std::endl;
  
  		delete (std::string*)ret; // need to look into memory leaks
  	}
  
  	delete call;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Makefile
  
  Index: Makefile
  ===================================================================
  include ../platform.mk
  BASE_PATH = ..
  
  CPPFLAGS = -I. \
  	   -I../include
  
  OPTFLAGS=-g
  CFLAGS  = -D__EXTENSIONS__ -D_UNIX -D_REENTRANT -D_PTHREADS -fPIC
  
  CCFLAGS = $(CFLAGS) $(OPTFLAGS)
  
  LDFLAGS = 
  
  COMPILE.cpp = $(CCC) $(CCFLAGS) $(CPPFLAGS) -c
  
  LINK.cc = $(CCC) -o
  
  %.o: %.cpp
  	$(COMPILE.cpp) $(OUTPUT_OPTION) -o $@ $<
  	@touch ./timestamp
  
  
  TEST_SRCS = Axis_client.cpp \
  	      Platform.cpp
  
  TEST_OBJS = $(TEST_SRCS:%.cpp=%.o)
  
  OBJS = $(TEST_OBJS)
  
  all:: $(OBJS)
  	$(LINK.cc) axtest $(OBJS) $(AX_LIB) $(XERCES_LIB_DIR)/libxerces-c1_5_2.so /usr/lib/libpthread.so
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Platform.cpp
  
  Index: Platform.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/Platform.hpp
  
  Index: Platform.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_STDAFX_H)
  #define _AXIS_STDAFX_H
  
  
  #ifdef WIN32
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  #define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
  
  #pragma warning ( disable : 4786 )
  
  
  //#include <afx.h>
  //#include <afxwin.h>
  
  #ifdef AXIS_EXPORTS
  #define AXIS_API __declspec(dllexport)
  #else
  #define AXIS_API __declspec(dllimport)
  #endif
  
  
  #else // WIN32
  
  #define AXIS_API
  
  #include <unistd.h>
  // other OS specific stuff goes here
  
  #endif
  
  
  
  #endif // _AXIS_STDAFX_H
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - TestHarness
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of a testharness for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/TestHarnesses/UserType.cpp
  
  Index: UserType.cpp
  ===================================================================
  // UserType.cpp : A simple Testharness
  //
  
  #include "Platform.hpp"
  #include <iostream>
  #include "ServiceFactory.hpp"
  #include "Call.hpp" 
  #include "XMLType.hpp"
  #include "SOAPEncoding.hpp"
  #include <cstdio>
  
  /// User define data Type
  class UserType
  {
  public:
  	int  m_nData;
  	char m_cData;
  	std::string m_strData;
  };
  
  
  namespace ax
  {
  	template<>
  	QName* XMLType<UserType>::GetType()
  	{
  		return new QName(ax::URI_CURRENT_SCHEMA_XSD, "user-type");
  	}
  	
  };
  
  /// Serialization strategies for user-type
  template<>
  const std::string SOAPEncoding<int>::Serialize(const void * val)
  {
  	std::string str;
  	sprintf(buf, "%d", ((UserType*)val)->m_nData);
  	return std::string(buf);
  }
  
  /// Deserialization strategies for int types
  template<>
  void* SOAPEncoding<int>::Deserialize(std::string& val)
  {
  	return (void*) new int(atoi(val.c_str()));
  }
  
  void main(int argc, char* argv[])
  {
  	const std::string endpoint = "http://nagoya.apache.org:5049/axis/servlet/AxisServlet";
  
  	Call  *call = ServiceFactory::CreateCall();
  
  	std::string value = "Hello World!";
  
  	call->SetTargetEndpointAddress(endpoint.c_str());
  	call->AddParameter("string-arg", value, Call::IN_PARAM);
  	call->SetOperationName("echoString");
  	call->SetMethodNamespaceURI("http://soapinterop.org/");
  
  	void* ret = call->Invoke();
  
  	if(ret)
  	{
  		std::cout << "The Result: " << (*(std::string*)ret) << std::endl << std::endl;
  
  		delete (std::string*)ret; 
  	}
  
  	delete call;
  }
  
  
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/Axis.dsp
  
  Index: Axis.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="Axis" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Static Library" 0x0104
  
  CFG=Axis - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "Axis.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "Axis.mak" CFG="Axis - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "Axis - Win32 Release" (based on "Win32 (x86) Static Library")
  !MESSAGE "Axis - Win32 Debug" (based on "Win32 (x86) Static Library")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "Axis - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "..\lib\NT_4.0\Release"
  # PROP BASE Intermediate_Dir "..\objs\NT_4.0\Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "..\lib\NT_4.0\Release"
  # PROP Intermediate_Dir "..\objs\NT_4.0\Release"
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /Ze /W3 /Gi /GX /O2 /I "../xerces-c/include" /I "./" /I "../src" /I "../src/Message" /I "../src/Util" /I "../src/Xml" /I "../src/Transport" /I "../src/Client" /I "../src/Encoding" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Yu"Platform.hpp" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LIB32=link.exe -lib
  # ADD BASE LIB32 /nologo
  # ADD LIB32 /nologo /out:"..\lib\NT_4.0\Axis.lib"
  
  !ELSEIF  "$(CFG)" == "Axis - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "..\lib\NT_4.0\Debug"
  # PROP BASE Intermediate_Dir "..\objs\NT_4.0\Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "..\lib\NT_4.0\Debug"
  # PROP Intermediate_Dir "..\objs\NT_4.0\Debug"
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /Ze /W3 /Gm /Gi /GX /ZI /Od /I "../xerces-c/include" /I "./" /I "../src" /I "../src/Message" /I "../src/Util" /I "../src/Xml" /I "../src/Transport" /I "../src/Client" /I "../src/Encoding" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LIB32=link.exe -lib
  # ADD BASE LIB32 /nologo
  # ADD LIB32 /nologo /out:"..\lib\NT_4.0\Axis.lib"
  
  !ENDIF 
  
  # Begin Target
  
  # Name "Axis - Win32 Release"
  # Name "Axis - Win32 Debug"
  # Begin Group "Message"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Message\MessageElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\RPCElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\RPCParam.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPBodyElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPEnvelope.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPFaultElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPHeader.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPMessage.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPMsgContext.cpp
  # End Source File
  # End Group
  # Begin Group "Transport"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Transport\Channel.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\HttpTransport.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Receiver.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Sender.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Transport.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\TransportFactory.cpp
  # End Source File
  # End Group
  # Begin Group "Utils"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Util\AxisException.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\NsStack.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\QName.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\Url.cpp
  # End Source File
  # End Group
  # Begin Group "Encoding"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Encoding\Param.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\SOAPEncoding.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\TypeMappingRegistry.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\XMLType.cpp
  # End Source File
  # End Group
  # Begin Group "Xml"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Xml\XMLDeSerializer.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Xml\XMLSerializer.cpp
  # End Source File
  # End Group
  # Begin Group "LibMain"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Platform.cpp
  # ADD CPP /Yc
  # End Source File
  # End Group
  # Begin Group "Client"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Client\Call.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Client\ServiceFactory.cpp
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "*.h;*.cpp"
  # Begin Source File
  
  SOURCE=..\src\Util\AttList.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\AxisConst.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\AxisException.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Client\Call.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Channel.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\HttpTransport.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\MessageElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\NsStack.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\Param.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Platform.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\QName.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Receiver.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\RPCElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\RPCParam.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Sender.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\SerializerFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Client\ServiceFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPBodyElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\SOAPEncoding.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPEnvelope.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPFaultElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPHeader.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPMessage.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Message\SOAPMsgContext.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\Transport.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Transport\TransportFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\TypeMappingRegistry.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Util\Url.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Xml\XercescConst.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Xml\XMLDeSerializer.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Xml\XMLSerializer.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Encoding\XMLType.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\src\Xml\XmlWriter.hpp
  # End Source File
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/Axis.dsw
  
  Index: Axis.dsw
  ===================================================================
  Microsoft Developer Studio Workspace File, Format Version 6.00
  # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
  
  ###############################################################################
  
  Project: "Axis"=".\Axis.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
  }}}
  
  ###############################################################################
  
  Project: "Axis_Release"=".\Axis_Release\Axis_Release.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
  }}}
  
  ###############################################################################
  
  Project: "Calculator"=".\Calculator\Calculator.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
      Begin Project Dependency
      Project_Dep_Name Axis
      End Project Dependency
      Begin Project Dependency
      Project_Dep_Name Axis_Release
      End Project Dependency
  }}}
  
  ###############################################################################
  
  Project: "Fault"=".\Fault\Fault.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
      Begin Project Dependency
      Project_Dep_Name Axis
      End Project Dependency
      Begin Project Dependency
      Project_Dep_Name Axis_Release
      End Project Dependency
  }}}
  
  ###############################################################################
  
  Project: "TestHarness"=".\TestHarness\TestHarness.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
      Begin Project Dependency
      Project_Dep_Name Axis
      End Project Dependency
      Begin Project Dependency
      Project_Dep_Name Axis_Release
      End Project Dependency
  }}}
  
  ###############################################################################
  
  Project: "UserType"=".\UserType\UserType.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
      Begin Project Dependency
      Project_Dep_Name Axis
      End Project Dependency
      Begin Project Dependency
      Project_Dep_Name Axis_Release
      End Project Dependency
  }}}
  
  ###############################################################################
  
  Global:
  
  Package=<5>
  {{{
  }}}
  
  Package=<3>
  {{{
  }}}
  
  ###############################################################################
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/Axis_Release/Axis_Release.dsp
  
  Index: Axis_Release.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="Axis_Release" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Generic Project" 0x010a
  
  CFG=Axis_Release - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "Axis_Release.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "Axis_Release.mak" CFG="Axis_Release - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "Axis_Release - Win32 Release" (based on "Win32 (x86) Generic Project")
  !MESSAGE "Axis_Release - Win32 Debug" (based on "Win32 (x86) Generic Project")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  MTL=midl.exe
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "..\..\include"
  # PROP Intermediate_Dir "..\..\include"
  # PROP Target_Dir ""
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "..\..\include"
  # PROP Intermediate_Dir "..\..\include"
  # PROP Target_Dir ""
  
  !ENDIF 
  
  # Begin Target
  
  # Name "Axis_Release - Win32 Release"
  # Name "Axis_Release - Win32 Debug"
  # Begin Group "Header Files"
  
  # PROP Default_Filter "*.hpp;*.h"
  # Begin Source File
  
  SOURCE=..\..\src\Util\AxisConst.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Util\AxisConst.hpp
  InputName=AxisConst
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Util\AxisConst.hpp
  InputName=AxisConst
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Client\Call.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Client\Call.hpp
  InputName=Call
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\Param.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Encoding\Param.hpp
  InputName=Param
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Platform.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Platform.hpp
  InputName=Platform
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\QName.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Util\QName.hpp
  InputName=QName
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\SerializerFactory.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Encoding\SerializerFactory.hpp
  InputName=SerializerFactory
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Client\ServiceFactory.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Client\ServiceFactory.hpp
  InputName=ServiceFactory
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\XMLType.hpp
  
  !IF  "$(CFG)" == "Axis_Release - Win32 Release"
  
  !ELSEIF  "$(CFG)" == "Axis_Release - Win32 Debug"
  
  # Begin Custom Build - Copying $(InputPath) to $(OutDir)
  OutDir=.\..\..\include
  InputPath=..\..\src\Encoding\XMLType.hpp
  InputName=XMLType
  
  "$(OutDir)\$(InputName).hpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
  	copy $(InputPath) $(OutDir)\$(InputName).hpp > nul
  
  # End Custom Build
  
  !ENDIF 
  
  # End Source File
  # End Group
  # Begin Source File
  
  SOURCE=..\..\Axis_Release\ReadMe.txt
  # End Source File
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/Calculator/Calculator.dsp
  
  Index: Calculator.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="Calculator" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Console Application" 0x0103
  
  CFG=Calculator - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "Calculator.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "Calculator.mak" CFG="Calculator - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "Calculator - Win32 Release" (based on "Win32 (x86) Console Application")
  !MESSAGE "Calculator - Win32 Debug" (based on "Win32 (x86) Console Application")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "Calculator - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /Ze /W3 /Gi /GX /O2 /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
  # ADD LINK32 xerces-c_1.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /machine:I386 /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  
  !ELSEIF  "$(CFG)" == "Calculator - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /Ze /W3 /Gm /Gi /GX /ZI /Od /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 xerces-c_1D.lib ws2_32.lib axis.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  # SUBTRACT LINK32 /incremental:no
  
  !ENDIF 
  
  # Begin Target
  
  # Name "Calculator - Win32 Release"
  # Name "Calculator - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Calculator.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.cpp
  # ADD CPP /Yc""
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "h;hpp;hxx;hm;inl"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.hpp
  # End Source File
  # End Group
  # Begin Group "Resource Files"
  
  # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/Fault/Fault.dsp
  
  Index: Fault.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="Fault" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Console Application" 0x0103
  
  CFG=Fault - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "Fault.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "Fault.mak" CFG="Fault - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "Fault - Win32 Release" (based on "Win32 (x86) Console Application")
  !MESSAGE "Fault - Win32 Debug" (based on "Win32 (x86) Console Application")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "Fault - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /Ze /W3 /Gi /GX /O2 /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
  # ADD LINK32 xerces-c_1.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /machine:I386 /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  
  !ELSEIF  "$(CFG)" == "Fault - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /Ze /W3 /Gm /Gi /GX /ZI /Od /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 xerces-c_1D.lib ws2_32.lib axis.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  # SUBTRACT LINK32 /incremental:no
  
  !ENDIF 
  
  # Begin Target
  
  # Name "Fault - Win32 Release"
  # Name "Fault - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Fault.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.cpp
  # ADD CPP /Yc""
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "h;hpp;hxx;hm;inl"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.hpp
  # End Source File
  # End Group
  # Begin Group "Resource Files"
  
  # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/TestHarness/TestHarness.dsp
  
  Index: TestHarness.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="TestHarness" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Console Application" 0x0103
  
  CFG=TestHarness - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "TestHarness.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "TestHarness.mak" CFG="TestHarness - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "TestHarness - Win32 Release" (based on "Win32 (x86) Console Application")
  !MESSAGE "TestHarness - Win32 Debug" (based on "Win32 (x86) Console Application")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "TestHarness - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /Ze /W3 /Gi /GX /O2 /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
  # ADD LINK32 xerces-c_1.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /machine:I386 /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  
  !ELSEIF  "$(CFG)" == "TestHarness - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /Ze /W3 /Gm /Gi /GX /ZI /Od /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 xerces-c_1D.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  # SUBTRACT LINK32 /incremental:no
  
  !ENDIF 
  
  # Begin Target
  
  # Name "TestHarness - Win32 Release"
  # Name "TestHarness - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Axis_client.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.cpp
  # ADD CPP /Yc""
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "h;hpp;hxx;hm;inl"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.hpp
  # End Source File
  # End Group
  # Begin Group "Resource Files"
  
  # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/UserType/UserType.dsp
  
  Index: UserType.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="UserType" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Console Application" 0x0103
  
  CFG=UserType - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "UserType.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "UserType.mak" CFG="UserType - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "UserType - Win32 Release" (based on "Win32 (x86) Console Application")
  !MESSAGE "UserType - Win32 Debug" (based on "Win32 (x86) Console Application")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "UserType - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "Release"
  # PROP Intermediate_Dir "Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /W3 /Gi /GX /O2 /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
  # ADD LINK32 xerces-c_1.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /machine:I386 /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  
  !ELSEIF  "$(CFG)" == "UserType - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "Debug"
  # PROP Intermediate_Dir "Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /W3 /Gm /Gi /GX /ZI /Od /I "../../TestHarnesses" /I "../../include" /I "../../xerces-c/include/dom" /I "../../xerces-c/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 xerces-c_1D.lib ws2_32.lib axis.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../xerces-c/lib" /libpath:"../../lib/NT_4.0"
  # SUBTRACT LINK32 /incremental:no
  
  !ENDIF 
  
  # Begin Target
  
  # Name "UserType - Win32 Release"
  # Name "UserType - Win32 Debug"
  # Begin Group "Source Files"
  
  # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.cpp
  # ADD CPP /Yc""
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\UserType.cpp
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "h;hpp;hxx;hm;inl"
  # Begin Source File
  
  SOURCE=..\..\TestHarnesses\Platform.hpp
  # End Source File
  # End Group
  # Begin Group "Resource Files"
  
  # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/axis.dsp
  
  Index: axis.dsp
  ===================================================================
  # Microsoft Developer Studio Project File - Name="Axis" - Package Owner=<4>
  # Microsoft Developer Studio Generated Build File, Format Version 6.00
  # ** DO NOT EDIT **
  
  # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
  
  CFG=Axis - Win32 Debug
  !MESSAGE This is not a valid makefile. To build this project using NMAKE,
  !MESSAGE use the Export Makefile command and run
  !MESSAGE 
  !MESSAGE NMAKE /f "axis.mak".
  !MESSAGE 
  !MESSAGE You can specify a configuration when running NMAKE
  !MESSAGE by defining the macro CFG on the command line. For example:
  !MESSAGE 
  !MESSAGE NMAKE /f "axis.mak" CFG="Axis - Win32 Debug"
  !MESSAGE 
  !MESSAGE Possible choices for configuration are:
  !MESSAGE 
  !MESSAGE "Axis - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
  !MESSAGE "Axis - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
  !MESSAGE 
  
  # Begin Project
  # PROP AllowPerConfigDependencies 0
  # PROP Scc_ProjName ""
  # PROP Scc_LocalPath ""
  CPP=cl.exe
  MTL=midl.exe
  RSC=rc.exe
  
  !IF  "$(CFG)" == "Axis - Win32 Release"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 0
  # PROP BASE Output_Dir "Release"
  # PROP BASE Intermediate_Dir "Release"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 0
  # PROP Output_Dir "..\..\lib\NT_4.0"
  # PROP Intermediate_Dir "..\..\objs\NT_4.0\Release"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS_EXPORTS" /Yu"stdafx.h" /FD /c
  # ADD CPP /nologo /MT /W3 /GX /O2 /I "./xerces-c/include/dom" /I "./xerces-c/include" /I "../../xerces-c/include" /I "./" /I "../../src" /I "../../src/Message" /I "../../src/Util" /I "../../src/Xml" /I "../../src/Transport" /I "../../src/Client" /I "../../src/Encoding" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS_EXPORTS" /Yu"Platform.hpp" /FD /c
  # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
  # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
  # ADD LINK32 xerces-c_1.lib ws2_32.lib /nologo /version:0.3 /dll /pdb:"..\..\objs\NT_4.0\axis.pdb" /machine:I386 /libpath:"../../xerces-c/lib"
  # SUBTRACT LINK32 /pdb:none
  
  !ELSEIF  "$(CFG)" == "Axis - Win32 Debug"
  
  # PROP BASE Use_MFC 0
  # PROP BASE Use_Debug_Libraries 1
  # PROP BASE Output_Dir "Debug"
  # PROP BASE Intermediate_Dir "Debug"
  # PROP BASE Target_Dir ""
  # PROP Use_MFC 0
  # PROP Use_Debug_Libraries 1
  # PROP Output_Dir "..\..\lib\NT_4.0"
  # PROP Intermediate_Dir "..\..\objs\NT_4.0\Debug"
  # PROP Ignore_Export_Lib 0
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
  # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../xerces-c/include" /I "./" /I "../../src" /I "../../src/Util" /I "../../src/Message" /I "../../src/Xml" /I "../../src/Transport" /I "../../src/Client" /I "../../src/Encoding" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS_EXPORTS" /FR /Yu"Platform.hpp" /FD /GZ /c
  # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
  # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
  BSC32=bscmake.exe
  # ADD BASE BSC32 /nologo
  # ADD BSC32 /nologo
  LINK32=link.exe
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 xerces-c_1D.lib ws2_32.lib /nologo /version:0.3 /dll /pdb:"..\..\objs\NT_4.0\axis.pdb" /debug /machine:I386 /pdbtype:sept /libpath:"../../xerces-c/lib"
  # SUBTRACT LINK32 /verbose /pdb:none
  
  !ENDIF 
  
  # Begin Target
  
  # Name "Axis - Win32 Release"
  # Name "Axis - Win32 Debug"
  # Begin Group "Message"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Message\MessageElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\RPCElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\RPCParam.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPBodyElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPEnvelope.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPFaultElement.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPHeader.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPMessage.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPMsgContext.cpp
  # End Source File
  # End Group
  # Begin Group "Transport"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Channel.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\HttpTransport.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Receiver.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Sender.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Transport.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\TransportFactory.cpp
  # End Source File
  # End Group
  # Begin Group "Utils"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Util\AxisException.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\NsStack.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\QName.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\Url.cpp
  # End Source File
  # End Group
  # Begin Group "Encoding"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\Param.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\SOAPEncoding.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\TypeMappingRegistry.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\XMLType.cpp
  # End Source File
  # End Group
  # Begin Group "Xml"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XMLDeSerializer.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XMLSerializer.cpp
  # End Source File
  # End Group
  # Begin Group "LibMain"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Platform.cpp
  # ADD CPP /Yc
  # End Source File
  # End Group
  # Begin Group "Client"
  
  # PROP Default_Filter "*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Client\Call.cpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Client\ServiceFactory.cpp
  # End Source File
  # End Group
  # Begin Group "Header Files"
  
  # PROP Default_Filter "*.h;*.cpp"
  # Begin Source File
  
  SOURCE=..\..\src\Util\AttList.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\AxisConst.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\AxisException.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Client\Call.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Channel.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\HttpTransport.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\MessageElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\NsStack.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\Param.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Platform.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\QName.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Receiver.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\RPCElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\RPCParam.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Sender.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\SerializerFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Client\ServiceFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPBodyElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\SOAPEncoding.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPEnvelope.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPFaultElement.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPHeader.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPMessage.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Message\SOAPMsgContext.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\Transport.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Transport\TransportFactory.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\TypeMappingRegistry.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Util\Url.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XercescConst.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XMLDeSerializer.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XMLSerializer.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Encoding\XMLType.hpp
  # End Source File
  # Begin Source File
  
  SOURCE=..\..\src\Xml\XmlWriter.hpp
  # End Source File
  # End Group
  # End Target
  # End Project
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/axis.dsw
  
  Index: axis.dsw
  ===================================================================
  Microsoft Developer Studio Workspace File, Format Version 6.00
  # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
  
  ###############################################################################
  
  Project: "Axis"=".\axis.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
  }}}
  
  ###############################################################################
  
  Project: "Axis_Release"="..\Axis_Release\Axis_Release.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
  }}}
  
  ###############################################################################
  
  Project: "TestHarness"="..\TestHarness\TestHarness.dsp" - Package Owner=<4>
  
  Package=<5>
  {{{
  }}}
  
  Package=<4>
  {{{
      Begin Project Dependency
      Project_Dep_Name Axis
      End Project Dependency
      Begin Project Dependency
      Project_Dep_Name Axis_Release
      End Project Dependency
  }}}
  
  ###############################################################################
  
  Global:
  
  Package=<5>
  {{{
  }}}
  
  Package=<3>
  {{{
  }}}
  
  ###############################################################################
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/libAxis.cpp
  
  Index: libAxis.cpp
  ===================================================================
  // Axis.cpp : Defines the entry point for the DLL application.
  //
  
  
  #include "libAxis.hpp"
  
  // This is an example of an exported variable
  AXIS_API int nAxis=0;
  
  // This is an example of an exported function.
  AXIS_API int fnAxis(void)
  {
  	return 42;
  }
  
  // This is the constructor of a class that has been exported.
  // see Axis.h for the class definition
  CAxis::CAxis()
  { 
  	return; 
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/Win32/axis-dll-not-finish/libAxis.hpp
  
  Index: libAxis.hpp
  ===================================================================
  
  // The following ifdef block is the standard way of creating macros which make exporting 
  // from a DLL simpler. All files within this DLL are compiled with the AXIS_EXPORTS
  // symbol defined on the command line. this symbol should not be defined on any project
  // that uses this DLL. This way any other project whose source files include this file see 
  // AXIS_API functions as being imported from a DLL, wheras this DLL sees symbols
  // defined with this macro as being exported.
  #include "Platform.hpp"
  
  // This class is exported from the Axis.dll
  class AXIS_API CAxis {
  public:
  	CAxis(void);
  	// TODO: add your methods here.
  };
  
  extern AXIS_API int nAxis;
  
  AXIS_API int fnAxis(void);
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/Index.html
  
  Index: Index.html
  ===================================================================
  <HTML>
  <HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
  <META NAME="Generator" CONTENT="Microsoft Word 97">
  <TITLE>Axis Documentation</TITLE>
  <META NAME="Template" CONTENT="D:\Program Files\Microsoft Office\Office\html.dot">
  <STYLE type="text/css"><!--   
  body {  font-family: Verdana, Arial, Helvetica, sans-serif; margin-left: 40px}
  h2 {  text-decoration: underline; background-color: #DCE1FF; background-position: left; margin-left: -30px}
  h3 {  margin-left: -10px}
  h1 {  margin-left: -30px}
  --><!--   
  .example { background:#ccccff }
  .xml { background:#eeeeee }
  .command { background:ffeeee }
  body {  font-family: Verdana, Arial, Helvetica, sans-serif; margin-left: 40px}
  h2 {  text-decoration: underline; background-color: #DCE1FF; background-position: left; margin-left: -30px}
  h3 {  margin-left: -10px}
  h1 {  margin-left: -30px}
  --></STYLE></HEAD>
  <BODY LINK="#0000ff" VLINK="#800080">
  
  <P ALIGN="CENTER"><!doctype html public "-//w3c//dtd html 4.0 transitional//en"></P>
  <P ALIGN="CENTER">&nbsp;</P>
  <H1 ALIGN="CENTER">Axis C++ Client Library Documentation</H1>
  <P ALIGN="CENTER">&nbsp;</P>
  <P ALIGN="CENTER"><FONT SIZE=4><i>Alpha 0.1 Version</i></FONT></P>
  <P>&nbsp;</P>
  
  <UL>
  <LI><A HREF="#Getting_Started"><FONT SIZE=4>Getting Started</FONT></A> </LI>
  <br>
  <B><FONT SIZE=4><LI>Development Documentation </LI>
  
  <UL>
  </B></FONT><LI><A HREF="ApiDocs/index.html"><FONT SIZE=4>API Documentation</FONT></A><FONT SIZE=4> </LI>
  </FONT><LI><A HREF="developers-guide.html"><FONT SIZE=4>Developer's Guide</FONT></A><FONT SIZE=4> </FONT>- 
  Collection of guidelines for developing code in Axis C++ Client Library. </LI></UL>
  </UL>
  
  <P><BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  <BR>
  </P>
  <H3><A NAME="Getting_Started"/>Getting Started</H3>
  <P>Let's start by examining a simple example Web Service client that invoke a remote procedure 
  <b>echoString</b>
  on the public Axis server at Apache.</P>
  <div class="example">
  <PRE>
  1. #include "Platform.hpp"
  2. #include &lt;iostream&gt;
  3. #include "ServiceFactory.hpp"
  4. #include "Call.hpp" 
  5.
  6.
  8. void main(int argc, char* argv[])
  9. {
  10.&#9;const std::string endpoint = "http://nagoya.apache.org:5049/axis/servlet/AxisServlet";
  11.&#9;
  12.&#9;Call  *call = ServiceFactory::CreateCall();
  13.&#9;
  14.&#9;std::string value = "Hello World!";
  15.&#9;
  16.&#9;call-&gt;SetTargetEndpointAddress(endpoint.c_str());
  17.&#9;call-&gt;AddParameter(value, Call::IN_PARAM);
  18.&#9;call-&gt;SetOperationName("echoString");
  19.&#9;call-&gt;SetMethodNamespaceURI("http://soapinterop.org/");
  20.&#9;
  21.&#9;void* ret = call-&gt;Invoke();
  22.&#9;
  23.&#9;if(ret)
  24.&#9;{
  25.&#9;   std::cout &lt;&lt; "The Result: " &lt;&lt; (*(std::string*)ret) &lt;&lt; std::endl ;
  26.&#9;
  27.&#9;   delete (std::string*)ret; 
  28.&#9;}
  29.&#9;
  30.&#9;delete call;
  31. }
  
  </PRE>
  </div>
  <P>(This example can be found in the folder <A HREF="../TestHarnesses/Axis_client.cpp">TestHarnesses/Axis_client.cpp</A>)</P>
  <P>The above example shows the working order of the client library. To build this example for testing/debugging purpose
  first you should build the library from the source. To build the library you should posses 
          <A href="http://www.gnu.org">GNU</A> tools like
          <A href="http://gcc.gnu.org/releases.html">GCC</A> and
          <A href="http://www.gnu.org/software/make/make.html">GNU Make</A>
          You must first make sure you
          have these tools installed on your system before proceeding.
          If you do not have required tools, ask your system administrator
          to get them for you. These tools are free under the GNU Public License
          and may be obtained from the
          <A href="http://www.gnu.org">Free Software Foundation</A>. <p>Extract the Axis C++ client library distribution to a Folder 
  of your choice (Lets call this folder as &lt;Axis_folder&gt;). In this folder start building the library &
  example as follows:</p>
  <div class="command">
  <PRE>
  % gmake			; this will build the lib and place the library in &lt;Axis_folder&gt;/lib/&lt;your platform&gt;
  % cd TestHarnesses		
  % gmake 		; this will create a executable <b>axtest</b> in the same folder
  % ./axtest		; runs the example.
  </PRE>
  </div>
  To run the above example you need network connection. 
  
  <P>What's happening in the above piece of code? 
  On lines 12 we instantiated a Web service handler from the service Factory: the Call object. 
  This object stores the metadata about the web service you want to access. On line 16, 
  we set the Call object with endpoint URL of the Web service we are interested with, i.e.
  the address of the SOAP-RPC provider. On line 17 we add a parameter to pass into the 
  method that we are calling: the <b>echoString(<i>string</i> str)</b>. On line 18, we set
  the operation (method) name of the Web Service. Line 19 defines the namespace URI to use 
  on the Body of the SOAP-RPC. On line 21 we invoke the Web service, which return the
  result on the ret (a void pointer to the object -- in this case the result should be
  the message we are sending; "Hello World!" -- string). On line 25 we
  get the result by explicitly casting the data into the returned data type, in this case 
  std::string. Next we clean up the memory allocated for this object & the memory allocated 
  for the Call object.</P>
  <P>You can see what happens to the arguments by looking at the SOAP request that goes 
  out on the wire (look at the colored sections, and notice they match the values in the 
  call above):</P>
  <div class="xml">
  <PRE>
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;SOAP-ENV:Body&gt;
      &lt;ns1:<B><FONT COLOR="#800000">echoString</B></FONT> xmlns:ns1="<B><FONT COLOR="#008000">http://soapinterop.org/</B></FONT>"&gt;
        &lt;arg0 xsi:type="xsd:string"&gt;<B><FONT COLOR="#ff00ff">Hello World!</B></FONT>&lt;/arg0&gt;
      &lt;/ns1:echoString&gt;
    &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  </PRE>
  </div>
  <P>The String argument is automatically serialized into XML, and the server responds with an identical 
  string, which we deserialize and print.</P>
  <I><P>Note: You can actually see,XML flowing back and forth between a SOAP client and server, these on 
  the consol.</P>
  </I><H3>Naming Parameters</H3>
  <P>In the above example, the parameters are in the order in which we sent them, but since we only passed 
  the objects themselves, Axis automatically named the XML-encoded arguments in the SOAP message "arg0", 
  "arg1", etc. If you want to change this, it's easy! Before calling <CODE>invoke()</CODE> you need to call
   <CODE>AddParameter</CODE> for each parameter, like so: </P><div class="example">
  <PRE>
  
    call-&gt;AddParameter("testParam", value, Call::IN_PARAM);
  
  </PRE>
  </div>
  <P>This will assign the name <B>testParam</B> to the 1st (and only) parameter on the invoke call. This will
   also define whether it is an input, output or inout parameter - in this case its an input parameter. Now 
   when you run the program you'll get a message that looks like this:</P> <div class="xml">
  <PRE>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;SOAP-ENV:Body&gt;
      &lt;ns1:echoString xmlns:ns1="http://soapinterop.org/"&gt;
        &lt;<FONT COLOR="#ff00ff">testParam</FONT> xsi:type="xsd:string"&gt;Hello World!&lt;/<FONT COLOR="#ff00ff">testParam</FONT>&gt;
      &lt;/ns1:echoString&gt;
    &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;</PRE>
  </div>
  <P>Note that the param is now named "testParam" as expected.</P>
  </BODY>
  </HTML>
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/developers-guide.html
  
  Index: developers-guide.html
  ===================================================================
  <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  <html>
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
     <title>Axis System Integration Guide</title>
  <!-- saved from url=(0022)http://internet.e-mail -->
  <style type="text/css">
  <!--
  .example { background:#ccccff }
  .xml { background:#eeeeee }
  .command { background:ffeeee }
  body {  font-family: Verdana, Arial, Helvetica, sans-serif; margin-left: 40px}
  h2 {  text-decoration: underline; background-color: #DCE1FF; background-position: left; margin-left: -30px}
  h3 {  margin-left: -10px}
  h1 {  margin-left: -30px}
  -->
  </style>
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
  <P ALIGN="CENTER">&nbsp;</P>
  <H1 ALIGN="CENTER">Axis C++ Client Library Developer's Guide</H1>
  <P ALIGN="CENTER"><FONT SIZE=4><i>Alpha 0.1 Version</i></FONT></P>
  <br>
  <h3>
  Table of Contents</h3>
  <a href="#Introduction">Introduction</a>
  <br><a href="#General Guidelines">General Guidelines</a>
  <br><a href="#Development Environment">Development Environment</a>
  <br><a href="#Compile And Run">Compile and Run</a>
  <br><a href="#Adding Testcases">Adding Testcases</a>
  <br><a href="#Debugging">Debugging</a>
  <br>&nbsp;
  <h2><a NAME="Introduction"></a>Introduction</h2>
  This guide is a collection of topics related to developing code for Axis C++. You are most welcome to 
  contribute for Axis C++ Client Library. Currently the code is in its pre-Alpha (Alpha 0.1). Following 
  sections describes the way you can contribute to develop for Axis C++ Client Library.
  <h2><a NAME="General Guidelines"></a>General Guidelines</h2>
  
  <ul>
  <li>
  Axis specific information (cvs repository access, mailing list info, etc.)
  can be found on the <a href="http://xml.apache.org/axis/index.html">Axis Home Page</a>.
  The architecture of the current xml-axis-java can be found there.
  </li>
  </ul>
  
  <h2>
  <a NAME="Development Environment"></a>Development Environment</h2>
  <b>On Unix:</b><br>
  The following <A href="http://www.gnu.org">GNU</A> tools are required for Axis C++ Client Library development:
  <ul>
  <li><A href="http://gcc.gnu.org/releases.html">Latest GCC distribution</A> and
          <A href="http://www.gnu.org/software/make/make.html">GNU Make</A></li>
  <li><A href="http://www.gnu.org">KDevelopment</a> - IDE for C++ on Linux KDE (optional)</li>
  </ul>
  
  <b>On Win32:</b><br>
  <ul><li>Microsoft Visual Studio   <b>or</b></li>
  <li><A href="http://gcc.gnu.org/releases.html">Port of GCC on Win32</a> and
          <A href="http://www.gnu.org/software/make/make.html">GNU Make</A></li>
  </ul>
  
  For all the platforms Apache 
  <ul><li><a href="http://xml.apache.org/dist/xerces-c/">Xerces-C++</a> - XML processor is required.</li></ul>
  
  
  <h2><a NAME="Compile And Run"></a>Compile and Run</h2>
  The Axis C++ Client Library is organized as follows: <br><br>
  <div class="xml">
  <PRE>
  &lt;Axis_folder&gt;/src/Message		; The components of a SOAP message 
  &lt;Axis_folder&gt;/src/Encoding		; The XML encoding for data types for SOAP 
  &lt;Axis_folder&gt;/src/Transport		; The Transport (socket, HTTP, etc.) for SOAP-RPC message carring.
  &lt;Axis_folder&gt;/src/Util			; Utilities for SOAP-RPC message creation
  &lt;Axis_folder&gt;/src/Xml			; XML parsing, Serilization & Deserialization of data for SOAP-RPC
  &lt;Axis_folder&gt;/src/Clinet		; Clint interface for SOAP-RPC (Axis C++ Client Library)
  </PRE>
  </div>
  To build the library on Unix do the following: 
  <div class="command">
  <PRE>
  % gmake			; this will build the lib and place the library in &lt;Axis_folder&gt;/lib/&lt;your platform&gt;
  % cd TestHarnesses		
  % gmake 		; this will create a executable <b>axtest</b> in the same folder
  </PRE>
  </div>
  <h2>
  <a NAME="Adding Testcases"></a><font color="#000000">Adding Testcases</font></h2>
  
  TODO
  <h2><a NAME="Debugging"></a>Debugging</h2>
  The debugging on Win32 can be done with MSVC. On Unix <b>gdb</b> can be used; if you are working on
  Linux then using KDevelopment make things less difficult.
  
  
  <br>
  <br>
  <br>
  <br>
  <br>
  <br>
  
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AttList_8hpp-source.html
  
  Index: AttList_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AttList.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AttList.hpp</h1><a href="AttList_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_ATTLIST_HPP)</font>
  <a name="l00047"></a><a class="code" href="AttList_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_ATTLIST_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;utility&gt;</font>
  00050 <font class="preprocessor">#include &lt;string&gt;</font>
  00051 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00052 
  00053 
  00061 
  <a name="l00062"></a><a class="code" href="classAttList.html">00062</a> <font class="keyword">class </font><a class="code" href="classAttList.html">AttList</a>
  00063 {
  00064 <font class="keyword">public</font>:
  <a name="l00065"></a><a class="code" href="classAttList.html#a0">00065</a>     <a class="code" href="classAttList.html#a0">AttList</a>()<font class="keyword"></font>{}
  00066 
  <a name="l00068"></a><a class="code" href="classAttList.html#a1">00068</a>     <font class="keywordtype">void</font> <a class="code" href="classAttList.html#a1">Add</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; name, <font class="keyword">const</font> std::string&amp; value)<font class="keyword"> </font>
  00069 <font class="keyword">    </font>{
  00070         m_Attribs.push_back(std::make_pair(name, value));
  00071     }
  <a name="l00073"></a><a class="code" href="classAttList.html#a2">00073</a>     <font class="keywordtype">int</font> <a class="code" href="classAttList.html#a2">getLength</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Attribs.size();}
  <a name="l00075"></a><a class="code" href="classAttList.html#a3">00075</a>     <font class="keyword">const</font> std::string <a class="code" href="classAttList.html#a3">getName</a>(<font class="keywordtype">int</font> i)<font class="keyword"></font>{<font class="keywordflow">return</font> m_Attribs[i].first.toString();}
  <a name="l00077"></a><a class="code" href="classAttList.html#a4">00077</a>     <font class="keyword">const</font> std::string <a class="code" href="classAttList.html#a4">getValue</a>(<font class="keywordtype">int</font> i)<font class="keyword"></font>{<font class="keywordflow">return</font> m_Attribs[i].second;}
  00078 
  00079 <font class="keyword">private</font>:
  <a name="l00080"></a><a class="code" href="classAttList.html#u0">00080</a>     <font class="keyword">typedef</font> std::pair&lt;ax::QName, std::string&gt; Attrib_t; 
  00081 
  <a name="l00082"></a><a class="code" href="classAttList.html#o0">00082</a>     std::vector&lt;Attrib_t &gt; m_Attribs;   
  00083 };
  00084 
  00085 
  00086 <font class="preprocessor">#endif //_AXIS_ATTLIST_HPP</font>
  00087 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AttList_8hpp.html
  
  Index: AttList_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AttList.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AttList.hpp File Reference</h1><code>#include &lt;utility&gt;</code><br>
  <code>#include &lt;string&gt;</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  
  <p>
  <a href="AttList_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classAttList.html">AttList</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Attribute List for XML.</em> <a href="classAttList.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="AttList_8hpp.html#a0">_AXIS_ATTLIST_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="AttList.hpp::_AXIS_ATTLIST_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_ATTLIST_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00047">47</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisConst_8hpp-source.html
  
  Index: AxisConst_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisConst.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisConst.hpp</h1><a href="AxisConst_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_CONST_H)</font>
  <a name="l00046"></a><a class="code" href="AxisConst_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_CONST_H</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;string&gt;</font>
  00049 
  00050 
  00051 <font class="keyword">namespace </font>ax
  00052 {
  00053     <font class="keyword">static</font> <font class="keyword">const</font> std::string NSPREFIX_SOAP_ENV   = <font class="stringliteral">"SOAP-ENV"</font> ;
  00054     <font class="keyword">static</font> <font class="keyword">const</font> std::string NSPREFIX_SOAP_ENC   = <font class="stringliteral">"SOAP-ENC"</font> ;
  00055     <font class="keyword">static</font> <font class="keyword">const</font> std::string NSPREFIX_SCHEMA_XSI = <font class="stringliteral">"xsi"</font> ;
  00056     <font class="keyword">static</font> <font class="keyword">const</font> std::string NSPREFIX_SCHEMA_XSD = <font class="stringliteral">"xsd"</font> ;
  00057 
  00058     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_ENVELOPE = <font class="stringliteral">"Envelope"</font> ;
  00059     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_HEADER   = <font class="stringliteral">"Header"</font> ;
  00060     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_BODY     = <font class="stringliteral">"Body"</font> ;
  00061     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_FAULT    = <font class="stringliteral">"Fault"</font> ;
  00062     
  00063     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_MISUNDERSTOOD = <font class="stringliteral">"Misunderstood"</font>;
  00064 
  00065     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_FAULT_CODE   = <font class="stringliteral">"faultcode"</font> ;
  00066     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_FAULT_STRING = <font class="stringliteral">"faultstring"</font> ;
  00067     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_FAULT_DETAIL = <font class="stringliteral">"detail"</font> ;
  00068     <font class="keyword">static</font> <font class="keyword">const</font> std::string ELEM_FAULT_ACTOR  = <font class="stringliteral">"faultactor"</font> ;
  00069 
  00070     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_MUST_UNDERSTAND = <font class="stringliteral">"mustUnderstand"</font> ;
  00071     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_ENCODING_STYLE  = <font class="stringliteral">"encodingStyle"</font> ;
  00072     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_ACTOR           = <font class="stringliteral">"actor"</font> ;
  00073     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_ROOT            = <font class="stringliteral">"root"</font> ;
  00074     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_ID              = <font class="stringliteral">"id"</font> ;
  00075     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_HREF            = <font class="stringliteral">"href"</font> ;
  00076     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_QNAME           = <font class="stringliteral">"qname"</font>;
  00077     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_ARRAY_TYPE      = <font class="stringliteral">"arrayType"</font>;
  00078     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_OFFSET          = <font class="stringliteral">"offset"</font>;
  00079     <font class="keyword">static</font> <font class="keyword">const</font> std::string ATTR_POSITION        = <font class="stringliteral">"position"</font>;
  00080 
  00081     <font class="keyword">static</font> <font class="keyword">const</font> std::string PROP_SOAPACTION      = <font class="stringliteral">"SOAPAction"</font>;
  00082 
  00083     <font class="keyword">static</font> <font class="keyword">const</font> std::string NS_URI_XMLNS  = <font class="stringliteral">"http://www.w3.org/2000/xmlns/"</font>;
  00084     <font class="keyword">static</font> <font class="keyword">const</font> std::string AXIS_NS       = <font class="stringliteral">"http://xml.apache.org/axis/"</font>;
  00085     
  00086     <font class="comment">//</font>
  00087     <font class="comment">// SOAP 1.1 constants</font>
  00088     <font class="comment">//</font>
  00089     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP_ENV   = <font class="stringliteral">"http://schemas.xmlsoap.org/soap/envelope/"</font> ;
  00090     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP_ENC   = <font class="stringliteral">"http://schemas.xmlsoap.org/soap/encoding/"</font> ;
  00091     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_NEXT_ACTOR = <font class="stringliteral">"http://schemas.xmlsoap.org/soap/actor/next"</font> ;
  00092     
  00093     <font class="comment">//</font>
  00094     <font class="comment">// SOAP 1.2 constants</font>
  00095     <font class="comment">//</font>
  00096     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_2001_SCHEMA_XSD = <font class="stringliteral">"http://www.w3.org/2001/XMLSchema"</font>;
  00097     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_2001_SCHEMA_XSI = <font class="stringliteral">"http://www.w3.org/2001/XMLSchema-instance"</font>;
  00098     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP12_ENV = <font class="stringliteral">"http://www.w3.org/2001/06/soap-envelope"</font>;
  00099     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP12_ENC = <font class="stringliteral">"http://www.w3.org/2001/06/soap-encoding"</font>;
  00100     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP12_NEXT_ACTOR = <font class="stringliteral">"http://www.w3.org/2001/06/soap-envelope/actor/next"</font>;
  00101     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP12_FAULT_NS   = <font class="stringliteral">"http://www.w3.org/2001/06/soap-faults"</font>;
  00102     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_SOAP12_UPGRADE_NS = <font class="stringliteral">"http://www.w3.org/2001/06/soap-upgrade"</font>;
  00103 
  00104     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_CURRENT_SOAP_ENV   = URI_SOAP12_ENV;
  00105     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_CURRENT_SCHEMA_XSD = URI_2001_SCHEMA_XSD;
  00106     <font class="keyword">static</font> <font class="keyword">const</font> std::string URI_CURRENT_SCHEMA_XSI = URI_2001_SCHEMA_XSI;
  00107 
  00108     <font class="keyword">static</font> <font class="keyword">const</font> std::string XML_SCHEMA_INSTANCE_TYPE = NSPREFIX_SCHEMA_XSI + <font class="stringliteral">":"</font> + <font class="stringliteral">"type"</font>;
  00109     <font class="keyword">static</font> <font class="keyword">const</font> std::string XML_SCHEMA_INSTANCE_NIL  = NSPREFIX_SCHEMA_XSI + <font class="stringliteral">":"</font> + <font class="stringliteral">"nil"</font>;
  00110 };
  00111 
  00112 
  00113 <font class="preprocessor">#endif //_AXIS_CONST_H</font>
  00114 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisConst_8hpp.html
  
  Index: AxisConst_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisConst.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisConst.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  
  <p>
  <a href="AxisConst_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
  <tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html">ax</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="AxisConst_8hpp.html#a0">_AXIS_CONST_H</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="AxisConst.hpp::_AXIS_CONST_H"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_CONST_H
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="AxisConst_8hpp-source.html#l00046">46</a> of file <a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8cpp-source.html
  
  Index: AxisException_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisException.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException.cpp</h1><a href="AxisException_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00048 
  00049 
  00056 
  <a name="l00057"></a><a class="code" href="classAxisException.html#a1">00057</a> <a class="code" href="classAxisException.html#a0">AxisException::AxisException</a>(std::string p_Err, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_Lvl)
  00058     : m_Error(p_Err),  m_Lvl(p_Lvl)<font class="keyword"></font>
  00059 <font class="keyword"></font>{
  00060 
  00061 }
  00062 
  <a name="l00063"></a><a class="code" href="classAxisException.html#a2">00063</a> <a class="code" href="classAxisException.html#a2">AxisException::~AxisException</a>()<font class="keyword"></font>
  00064 <font class="keyword"></font>{
  00065 
  00066 }
  00067 
  00068 
  00075 
  <a name="l00076"></a><a class="code" href="classAxisFault.html#a0">00076</a> <a class="code" href="classAxisFault.html#a0">AxisFault::AxisFault</a>(std::string p_Err, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_Lvl)<font class="keyword"></font>
  00077 <font class="keyword"></font>{
  00078     m_Error = p_Err,  m_Lvl = p_Lvl;
  00079 }
  00080 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8cpp.html
  
  Index: AxisException_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisException.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="AxisException_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8hpp-source.html
  
  Index: AxisException_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisException.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException.hpp</h1><a href="AxisException_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 <font class="preprocessor">#if !defined(_AXIS_AXISEXCEPTION_HPP)</font>
  <a name="l00045"></a><a class="code" href="AxisException_8hpp.html#a0">00045</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_AXISEXCEPTION_HPP</font>
  00046 <font class="preprocessor"></font>
  00047 <font class="preprocessor">#include &lt;string&gt;</font>
  00048 
  00055 
  <a name="l00056"></a><a class="code" href="classAxisException.html">00056</a> <font class="keyword">class </font><a class="code" href="classAxisException.html">AxisException</a>  
  00057 {
  00058     <font class="keyword">public</font>:
  <a name="l00059"></a><a class="code" href="classAxisException.html#a0">00059</a>         <a class="code" href="classAxisException.html#a0">AxisException</a>()<font class="keyword"></font>{m_Lvl=0;}
  00060 
  00062         <a class="code" href="classAxisException.html#a0">AxisException</a>(std::string p_Err, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_Lvl);
  00063         <font class="keyword">virtual</font> <a class="code" href="classAxisException.html#a2">~AxisException</a>();
  00064 
  <a name="l00066"></a><a class="code" href="classAxisException.html#a3">00066</a>         <font class="keyword">const</font> std::string&amp; <a class="code" href="classAxisException.html#a3">GetErrorMsg</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Error;}
  00067 
  <a name="l00069"></a><a class="code" href="classAxisException.html#a4">00069</a>         <font class="keyword">const</font> std::string&amp; <a class="code" href="classAxisException.html#a3">GetErrorMsg</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_Lvl)<font class="keyword"></font>{<font class="keywordflow">return</font> m_Error;}
  <a name="l00070"></a><a class="code" href="classAxisException.html#a5">00070</a>         <font class="keywordtype">void</font>  <a class="code" href="classAxisException.html#a5">Clear</a>()<font class="keyword"></font>{m_Error.erase();}
  00071 
  00072     <font class="keyword">protected</font>:
  00073 
  <a name="l00074"></a><a class="code" href="classAxisException.html#n0">00074</a>         std::string m_Error;   
  <a name="l00075"></a><a class="code" href="classAxisException.html#n1">00075</a>         <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> m_Lvl;  
  00076 };
  00077 
  00078 
  00085 
  <a name="l00086"></a><a class="code" href="classAxisFault.html">00086</a> <font class="keyword">class </font><a class="code" href="classAxisFault.html">AxisFault</a> : <font class="keyword">public</font> <a class="code" href="classAxisException.html">AxisException</a>
  00087 {
  00088     <font class="keyword">public</font>:
  00090         <a class="code" href="classAxisFault.html#a0">AxisFault</a>(std::string p_Err, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_Lvl);     
  <a name="l00091"></a><a class="code" href="classAxisFault.html#a1">00091</a>         <a class="code" href="classAxisFault.html#a1">~AxisFault</a>()<font class="keyword"></font>{}
  00092 };
  00093 
  00094 <font class="preprocessor">#endif // _AXIS_AXISEXCEPTION_HPP</font>
  00095 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/AxisException_8hpp.html
  
  Index: AxisException_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisException.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  
  <p>
  <a href="AxisException_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html">AxisException</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>General Exception handler.</em> <a href="classAxisException.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classAxisFault.html">AxisFault</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAP Fault as exceptions.</em> <a href="classAxisFault.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="AxisException_8hpp.html#a0">_AXIS_AXISEXCEPTION_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="AxisException.hpp::_AXIS_AXISEXCEPTION_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_AXISEXCEPTION_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00045">45</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8cpp-source.html
  
  Index: Call_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Call.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call.cpp</h1><a href="Call_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> * @authors  Lilantha Darshana    (lilantha@erunway.com)</font>
  00041 <font class="comment"> *           Satheesh Thurairajah (satheesh@erunway.com)</font>
  00042 <font class="comment"> *           </font>
  00043 <font class="comment"> *</font>
  00044 <font class="comment"> */</font>
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="Call_8hpp.html">Call.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="SOAPMsgContext_8hpp.html">SOAPMsgContext.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00050 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00051 <font class="preprocessor">#include "<a class="code" href="Param_8hpp.html">Param.hpp</a>"</font>
  00052 
  00053 
  00058 
  <a name="l00059"></a><a class="code" href="classCall.html#a0">00059</a> <a class="code" href="classCall.html#a0">Call::Call</a>() : m_pClientCtx(0)
  00060 {
  00061 
  00062 }
  00063 
  00064 
  00069 
  <a name="l00070"></a><a class="code" href="classCall.html#a1">00070</a> <a class="code" href="classCall.html#a1">Call::~Call</a>()<font class="keyword"></font>
  00071 <font class="keyword"></font>{
  00072     <a class="code" href="classCall.html#c0">Cleanup</a>();
  00073 }
  00074 
  00075 
  <a name="l00082"></a><a class="code" href="classCall.html#a8">00082</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#a8">Call::SetOperationName</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p_pchOpName)<font class="keyword"></font>
  00083 <font class="keyword"></font>{
  00084     <font class="keywordflow">if</font> (p_pchOpName)
  00085         m_strOpName = p_pchOpName;
  00086 }
  00087 
  00088 
  00095 
  <a name="l00096"></a><a class="code" href="classCall.html#a7">00096</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#a7">Call::SetMethodNamespaceURI</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p_pchOpNsURI)<font class="keyword"></font>
  00097 <font class="keyword"></font>{
  00098     <font class="keywordflow">if</font> (p_pchOpNsURI)
  00099         m_strMethodNsURI = p_pchOpNsURI;
  00100 }
  00101 
  00102 
  00108 
  <a name="l00109"></a><a class="code" href="classCall.html#a6">00109</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#a6">Call::SetTargetEndpointAddress</a>(<font class="keyword">const</font> <font class="keywordtype">char</font>* p_pchUrl)<font class="keyword"></font>
  00110 <font class="keyword"></font>{
  00111     m_ServerURL = p_pchUrl;
  00112 }
  00113 
  00114 
  00124 
  <a name="l00125"></a><a class="code" href="classCall.html#a9">00125</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#a9">Call::AddSerializerFactory</a>(<font class="keyword">const</font> std::string&amp; p_sTypName, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * p_pSer)<font class="keyword"></font>
  00126 <font class="keyword"></font>{
  00127     <font class="keywordflow">if</font>(!m_pClientCtx)
  00128         m_pClientCtx = <font class="keyword">new</font> SOAPMsgContext();
  00129 
  00130     m_pClientCtx-&gt;<a class="code" href="classSOAPMsgContext.html#a2">RegisterTypeMapping</a>(p_sTypName, p_pSer);
  00131 }
  00132 
  00133 
  00139 
  <a name="l00140"></a><a class="code" href="classCall.html#a10">00140</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#a10">Call::SetEncodingStyle</a>(<font class="keyword">const</font> std::string&amp; p_sNsURI)<font class="keyword"></font>
  00141 <font class="keyword"></font>{
  00142     m_EncStyle = p_sNsURI;
  00143 }
  00144 
  00145 
  00158 
  <a name="l00159"></a><a class="code" href="classCall.html#a4">00159</a> <font class="keywordtype">void</font> * <a class="code" href="classCall.html#a5">Call::Invoke</a>(<font class="keyword">const</font> std::string&amp; p_sNs, <font class="keyword">const</font> std::string&amp; p_sMethod)<font class="keyword"></font>
  00160 <font class="keyword"></font>{
  00161     <font class="comment">// set method name &amp; namespace of the method.</font>
  00162     m_strMethodNsURI = p_sNs;
  00163     m_strOpName      = p_sMethod;
  00164 
  00165     <font class="keywordflow">return</font> <a class="code" href="classCall.html#a5">Invoke</a>();
  00166 }
  00167 
  00168 
  00184 
  <a name="l00185"></a><a class="code" href="classCall.html#a5">00185</a> <font class="keywordtype">void</font> * <a class="code" href="classCall.html#a5">Call::Invoke</a>()<font class="keyword"></font>
  00186 <font class="keyword"></font>{
  00187     <font class="keywordflow">try</font>
  00188     {
  00189         <font class="comment">// Make sure the method name is provided</font>
  00190         <font class="keywordflow">if</font>(m_strOpName.empty()) <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Cannot Invoke unspecified method ...."</font>, 1);
  00191 
  00192         <font class="comment">// Build up the RPC body from method name, namespace &amp; set of arguments; as SOAPBody</font>
  00193         <a class="code" href="classRPCElement.html">RPCElement</a>  *pBody = <font class="keyword">new</font> RPCElement(m_strMethodNsURI, m_strOpName, m_vArgs);
  00194 
  00195         <font class="comment">// Create message contex to handle SOAP requests</font>
  00196         <font class="keywordflow">if</font>(!m_pClientCtx)
  00197             m_pClientCtx = <font class="keyword">new</font> SOAPMsgContext();
  00198 
  00199         <font class="comment">//Set remote Web service address</font>
  00200         m_pClientCtx-&gt;<a class="code" href="classSOAPMsgContext.html#a3">SetServiceURL</a>(m_ServerURL);
  00201 
  00202         <font class="comment">// Invoke the Web service with RPC body elements</font>
  00203         m_pClientCtx-&gt;<a class="code" href="classSOAPMsgContext.html#a4">Invoke</a>(pBody);
  00204 
  00205         <font class="comment">// Get result of call to remote service as RPC body Element</font>
  00206         <a class="code" href="classRPCElement.html">RPCElement</a> *ret = (<a class="code" href="classRPCElement.html">RPCElement</a>*)m_pClientCtx-&gt;<a class="code" href="classSOAPMsgContext.html#a5">GetResults</a>();
  00207 
  00208         <font class="comment">// return deserialized response message to the caller       </font>
  00209         <font class="comment">// according the the service description of output form -- metainfo</font>
  00210         <font class="keywordflow">return</font> ret-&gt;<a class="code" href="classRPCElement.html#a7">GetReturnValue</a>(); 
  00211                                       
  00212     }
  00213     <font class="keywordflow">catch</font>(<a class="code" href="classAxisException.html">AxisException</a>&amp; ex)
  00214     {
  00215         std::cerr &lt;&lt; ex.GetErrorMsg() &lt;&lt; std::endl;
  00216         <a class="code" href="classCall.html#c0">Cleanup</a>();
  00217     }
  00218     <font class="keywordflow">catch</font>(...)
  00219     {
  00220         <font class="comment">// Handle any sort of exception that could cause on calling remote sercvice.</font>
  00221         std::cerr &lt;&lt; <font class="stringliteral">"Exception in WebService ....."</font> &lt;&lt; std::endl;
  00222         <a class="code" href="classCall.html#c0">Cleanup</a>();
  00223     }
  00224     
  00225     <font class="comment">// Exception has occured</font>
  00226     <font class="keywordflow">return</font> NULL;
  00227 }
  00228 
  00229 
  00234 
  <a name="l00235"></a><a class="code" href="classCall.html#c0">00235</a> <font class="keywordtype">void</font> <a class="code" href="classCall.html#c0">Call::Cleanup</a>()<font class="keyword"></font>
  00236 <font class="keyword"></font>{
  00237     <font class="keyword">delete</font> m_pClientCtx;
  00238     m_pClientCtx = NULL;
  00239     <font class="keywordtype">int</font> size;
  00240     <font class="keywordflow">if</font>(size = m_vArgs.size())
  00241     {
  00242         <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i=0; i &lt; size ; i++)
  00243             <font class="keyword">delete</font> m_vArgs[i];
  00244         m_vArgs.clear();
  00245     }
  00246 }
  00247 
  00248 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8cpp.html
  
  Index: Call_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Call.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Call_8hpp-source.html">Call.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  <code>#include "<a class="el" href="Param_8hpp-source.html">Param.hpp</a>"</code><br>
  
  <p>
  <a href="Call_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8hpp-source.html
  
  Index: Call_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Call.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call.hpp</h1><a href="Call_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> * @authors     Lilantha Darshana    (lilantha@erunway.com)</font>
  00041 <font class="comment"> *              Satheesh Thurairajah (satheesh@erunway.com)</font>
  00042 <font class="comment"> *          </font>
  00043 <font class="comment"> *</font>
  00044 <font class="comment"> */</font>
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_CALL_HPP)</font>
  <a name="l00047"></a><a class="code" href="Call_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_CALL_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 
  00050 <font class="preprocessor">#include &lt;vector&gt;</font>
  00051 <font class="preprocessor">#include &lt;string&gt;</font>
  00052 <font class="preprocessor">#include "<a class="code" href="Param_8hpp.html">Param.hpp</a>"</font>
  00053 <font class="preprocessor">#include "<a class="code" href="XMLType_8hpp.html">XMLType.hpp</a>"</font>
  00054 
  00055 <font class="keyword">class </font><a class="code" href="classSerializerFactory.html">SerializerFactory</a>;
  00056 <font class="keyword">class </font><a class="code" href="classSOAPMsgContext.html">SOAPMsgContext</a>;
  00057 
  00077 
  <a name="l00078"></a><a class="code" href="classCall.html">00078</a> <font class="keyword">class </font><a class="code" href="classCall.html">Call</a>  
  00079 {
  00080 <font class="keyword">public</font>:
  00081 
  <a name="l00083"></a><a class="code" href="classCall.html#s3">00083</a>     <font class="keyword">enum</font> Mode {IN_PARAM, OUT_PARAM, IN_OUT_PARAM};
  00084 
  00085 <font class="keyword">public</font>:
  00086     <a class="code" href="classCall.html#a0">Call</a>();
  00087     <font class="keyword">virtual</font> <a class="code" href="classCall.html#a1">~Call</a>();
  00088     
  00107 
  00108     template&lt;typename T&gt;
  <a name="l00109"></a><a class="code" href="classCall.html#a2">00109</a>     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a2">AddParameter</a>(<font class="keyword">const</font> <font class="keywordtype">char</font>* p_pchName, T&amp; p_Value, Mode p_Mode)<font class="keyword"></font>
  00110 <font class="keyword">    </font>{
  00111         <a class="code" href="classParam.html">Param</a> *newParam = <font class="keyword">new</font> <a class="code" href="classParam.html">Param</a>;
  00112 
  00113         newParam-&gt;m_pValue = (<font class="keywordtype">void</font>*)&amp;p_Value;
  00114         newParam-&gt;m_pType  = <a class="code" href="classax_1_1XMLType.html#d0">ax::XMLType&lt;T&gt;::GetType</a>();
  00115         newParam-&gt;m_Name   = p_pchName;
  00116 
  00117         m_vArgs.push_back(newParam);
  00118     }
  00119 
  00137 
  00138     template&lt;typename T&gt;
  <a name="l00139"></a><a class="code" href="classCall.html#a3">00139</a>     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a2">AddParameter</a>(T&amp; value, Mode mode)<font class="keyword"></font>
  00140 <font class="keyword">    </font>{
  00141         <a class="code" href="classParam.html">Param</a> *newParam = <font class="keyword">new</font> <a class="code" href="classParam.html">Param</a>;
  00142 
  00143         <font class="keywordtype">char</font> buf[10];
  00144         sprintf(buf, <font class="stringliteral">"%d"</font>, m_vArgs.size());
  00145 
  00146         newParam-&gt;m_pValue = (<font class="keywordtype">void</font>*)&amp;value;
  00147         newParam-&gt;m_pType  = <a class="code" href="classax_1_1XMLType.html#d0">ax::XMLType&lt;T&gt;::GetType</a>();
  00148         newParam-&gt;m_pType  += buf; <font class="comment">// create names like arg0, arg1 etc.</font>
  00149 
  00150         m_vArgs.push_back(newParam);
  00151     }
  00152 
  00154     <font class="keywordtype">void</font> * <a class="code" href="classCall.html#a5">Invoke</a>(<font class="keyword">const</font> std::string&amp; p_sNs, <font class="keyword">const</font> std::string&amp; p_sMethod);
  00155 
  00157     <font class="keywordtype">void</font> * <a class="code" href="classCall.html#a5">Invoke</a>();
  00158 
  00160     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a6">SetTargetEndpointAddress</a>(<font class="keyword">const</font> <font class="keywordtype">char</font>* p_pchUrl);
  00161 
  00163     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a7">SetMethodNamespaceURI</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p_pchOpNsURI);
  00164 
  00166     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a8">SetOperationName</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *p_pchOpName);
  00167 
  00169     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a9">AddSerializerFactory</a>(<font class="keyword">const</font> std::string&amp; p_sTypName, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * p_pSer);
  00170 
  00172     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a10">SetEncodingStyle</a>(<font class="keyword">const</font> std::string&amp; p_sNsURI);
  00173 
  <a name="l00179"></a><a class="code" href="classCall.html#a11">00179</a>     <font class="keywordtype">void</font> <a class="code" href="classCall.html#a11">ClearAllParams</a>()<font class="keyword"></font>{m_vArgs.clear();}
  00180 
  00181 
  00182 <font class="keyword">private</font>:
  00183 
  00185     <font class="keywordtype">void</font> <a class="code" href="classCall.html#c0">Cleanup</a>();
  00186 
  00187 
  00188 <font class="keyword">private</font>:
  <a name="l00189"></a><a class="code" href="classCall.html#o0">00189</a>     std::vector&lt;Param*&gt; m_vArgs;            
  <a name="l00190"></a><a class="code" href="classCall.html#o1">00190</a>     std::string         m_strOpName;        
  <a name="l00191"></a><a class="code" href="classCall.html#o2">00191</a>     std::string         m_strMethodNsURI;   
  <a name="l00192"></a><a class="code" href="classCall.html#o3">00192</a>     std::string         m_ServerURL;        
  <a name="l00193"></a><a class="code" href="classCall.html#o4">00193</a>     std::string         m_EncStyle;         
  00194 
  <a name="l00195"></a><a class="code" href="classCall.html#o5">00195</a>     <a class="code" href="classSOAPMsgContext.html">SOAPMsgContext</a> *m_pClientCtx;           
  00196 
  00197 };
  00198 
  00199     
  00200 
  00201 <font class="preprocessor">#endif // _AXIS_CALL_HPP</font>
  00202 <font class="preprocessor"></font>
  00203 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Call_8hpp.html
  
  Index: Call_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Call.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call.hpp File Reference</h1><code>#include &lt;vector&gt;</code><br>
  <code>#include &lt;string&gt;</code><br>
  <code>#include "<a class="el" href="Param_8hpp-source.html">Param.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a>"</code><br>
  
  <p>
  <a href="Call_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classCall.html">Call</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>RPC Dynamic Invocation interface.</em> <a href="classCall.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Call_8hpp.html#a0">_AXIS_CALL_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Call.hpp::_AXIS_CALL_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_CALL_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00047">47</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8cpp-source.html
  
  Index: Channel_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Channel.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel.cpp</h1><a href="Channel_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="Channel_8hpp.html">Channel.hpp</a>"</font>
  00047 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00048 
  00049 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00050 
  00051 
  <a name="l00057"></a><a class="code" href="classChannel.html#a0">00057</a> <a class="code" href="classChannel.html#a0">Channel::Channel</a>() : m_Sock(INVALID_SOCKET)
  00058 {
  00059 
  00060 }
  00061 
  <a name="l00062"></a><a class="code" href="classChannel.html#a1">00062</a> <a class="code" href="classChannel.html#a1">Channel::~Channel</a>()<font class="keyword"></font>
  00063 <font class="keyword"></font>{
  00064     <a class="code" href="classChannel.html#c2">CloseChannel</a>();
  00065 }
  00066 
  00067 
  <a name="l00078"></a><a class="code" href="classChannel.html#a2">00078</a> <font class="keywordtype">bool</font> <a class="code" href="classChannel.html#a2">Channel::Open</a>(std::string&amp; p_RemoteNode, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_RemoteEnd) <font class="keywordflow">throw</font> (<a class="code" href="classChannelException.html">ChannelException</a>)
  00079 {
  00080     m_RemoteNode = p_RemoteNode;
  00081     m_RemoteEnd  = p_RemoteEnd;
  00082 
  00083     <font class="keywordflow">if</font>(!Init())
  00084         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Cannot initialize a channel to the remote end"</font>);
  00085 
  00086     sockaddr_in clAddr, svAddr;           
  00087 
  00088     <font class="keywordflow">if</font> ((m_Sock = socket(PF_INET, SOCK_STREAM, 0)) != INVALID_SOCKET)
  00089     {
  00090         clAddr.sin_family = AF_INET;     <font class="comment">// AF_INET (address family Internet).</font>
  00091         clAddr.sin_port   = 0;           <font class="comment">// No Specify Port required</font>
  00092         clAddr.sin_addr.s_addr = INADDR_ANY;
  00093 
  00094         <font class="keywordflow">if</font> (bind(m_Sock, (<font class="keyword">struct</font> sockaddr*) &amp;clAddr, <font class="keyword">sizeof</font>(clAddr)) == SOCKET_ERROR)
  00095         {
  00096             Error(<font class="stringliteral">"Error - Binding"</font>);
  00097             CloseChannel();
  00098             <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Cannot open a channel to the remote end, shutting down the channel"</font>);
  00099         }
  00100 
  00101         <font class="comment">// Although the above fragment makes use of the bind() API, it would be</font>
  00102         <font class="comment">// just as effective to skip over this call as there are no specific</font>
  00103         <font class="comment">// local port ID requirements for this client. The only advantage that</font>
  00104         <font class="comment">// bind() offers is the accessibility of the port which the system chose</font>
  00105         <font class="comment">// via the .sin_port member of the cli_addr structure which will be set</font>
  00106         <font class="comment">// upon success of the bind() call.</font>
  00107 
  00108         svAddr.sin_family = AF_INET;
  00109         svAddr.sin_port   = htons(m_RemoteEnd);
  00110 
  00111         <font class="keyword">struct </font>hostent*  pHostEntry = NULL;
  00112 
  00113         <font class="comment">// probably this is the host-name of the server we are connecting to</font>
  00114         <font class="keywordflow">if</font>((pHostEntry = gethostbyname(m_RemoteNode.c_str())))
  00115         {
  00116             svAddr.sin_addr.s_addr = ((<font class="keyword">struct </font>in_addr *)pHostEntry-&gt;h_addr)-&gt;s_addr;
  00117         }
  00118         <font class="keywordflow">else</font>
  00119         {
  00120             <font class="comment">// no this is the IP address</font>
  00121             svAddr.sin_addr.s_addr = inet_addr(m_RemoteNode.c_str());   
  00122         }
  00123 
  00124         <font class="comment">// connect to the remote server.</font>
  00125         <font class="keywordflow">if</font> (connect(m_Sock,(<font class="keyword">struct</font> sockaddr*)&amp;svAddr, <font class="keyword">sizeof</font>(svAddr)) == SOCKET_ERROR)
  00126         {
  00127             Error(<font class="stringliteral">"Sockets error Couldn't connect socket."</font>);
  00128             CloseChannel();
  00129             <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Cannot open a channel to the remote end, shutting down the channel"</font>);
  00130         }
  00131     }
  00132     <font class="keywordflow">else</font>
  00133     {
  00134         Error(<font class="stringliteral">"Sockets error Couldn't create socket."</font>);
  00135         CloseChannel();
  00136         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Cannot open a channel"</font>);
  00137     }
  00138     <font class="keywordflow">return</font> <font class="keyword">true</font>;
  00139 }
  00140 
  00146 
  <a name="l00147"></a><a class="code" href="classChannel.html#c0">00147</a> <font class="keywordtype">bool</font> <a class="code" href="classChannel.html#c0">Channel::Init</a>()<font class="keyword"></font>
  00148 <font class="keyword"></font>{
  00149 <font class="preprocessor">#if defined(WIN32)</font>
  00150 <font class="preprocessor"></font>
  00151     WSADATA wsaData;            <font class="comment">// contains vendor-specific information, such as the</font>
  00152                                 <font class="comment">// maximum number of sockets available and the maximum</font>
  00153                                 <font class="comment">// datagram size.</font>
  00154 
  00155     <font class="keywordflow">if</font>(WSAStartup(WS_VERSION_REQD, &amp;wsaData))  <font class="comment">//Filled by Windows Sockets DLLs</font>
  00156     {
  00157         m_LastErr = <font class="stringliteral">"WinSock DLL not responding."</font>;
  00158         <a class="code" href="classChannel.html#c1">Error</a>((<font class="keywordtype">char</font> *)m_LastErr.c_str());
  00159         <font class="keywordflow">return</font> <font class="keyword">false</font>;
  00160     }
  00161     <font class="keywordflow">else</font>
  00162     { 
  00163         <font class="comment">// Query to see whether the available version matches what we need</font>
  00164         <font class="keywordflow">if</font> (( LOBYTE (wsaData.wVersion) &lt; WS_VERSION_MAJOR()) ||
  00165              (LOBYTE (wsaData.wVersion) == WS_VERSION_MAJOR() &amp;&amp;
  00166               HIBYTE (wsaData.wVersion) &lt; WS_VERSION_MINOR()))
  00167         {
  00168             <font class="keywordtype">char</font> buf[100];
  00169             sprintf(buf,<font class="stringliteral">"Windows Sockets version %d.%d not supported by winsock2.dll"</font>,
  00170                         LOBYTE (wsaData.wVersion), HIBYTE (wsaData.wVersion));
  00171             <a class="code" href="classChannel.html#c1">Error</a>(buf);
  00172             <a class="code" href="classChannel.html#c2">CloseChannel</a>();
  00173             <font class="keywordflow">return</font> <font class="keyword">false</font>;
  00174         }
  00175     }
  00176 <font class="preprocessor">#else</font>
  00177 <font class="preprocessor"></font>
  00178     <font class="comment">// other OS specific Intitialization goes here</font>
  00179 <font class="preprocessor">#endif</font>
  00180 <font class="preprocessor"></font>    <font class="keywordflow">return</font> <font class="keyword">true</font>;
  00181 }
  00182 
  <a name="l00190"></a><a class="code" href="classChannel.html#a5">00190</a> <font class="keyword">const</font> <a class="code" href="classChannel.html">Channel</a>&amp; <a class="code" href="classChannel.html#a5">Channel::operator &lt;&lt; </a>(<font class="keyword">const</font> std::string&amp; msg)<font class="keyword"></font>
  00191 <font class="keyword"></font>{
  00192     <font class="keywordflow">if</font>(INVALID_SOCKET == m_Sock) 
  00193     {
  00194         <a class="code" href="classChannel.html#c1">Error</a>(<font class="stringliteral">"Writing cannot be done without having a open socket to remote end."</font>);
  00195         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Output streaming error on undefined channel; please open the channel first"</font>);
  00196     }
  00197 
  00198     <font class="keywordtype">int</font> size = msg.size(), nByteSent;
  00199     
  00200     <font class="keywordflow">if</font>((nByteSent = send(m_Sock, (<font class="keywordtype">char</font> *)msg.c_str(), size, MSG_DONTROUTE )) == SOCKET_ERROR)
  00201     {
  00202         <a class="code" href="classChannel.html#c1">Error</a>(<font class="stringliteral">"Output streaming error while writing data."</font>);
  00203         <a class="code" href="classChannel.html#c2">CloseChannel</a>();
  00204         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Output streaming error on Channel while writing data"</font>);
  00205     }
  00206 
  00207     <font class="keywordflow">return</font> *<font class="keyword">this</font>;
  00208 }
  00209 
  00215 
  <a name="l00216"></a><a class="code" href="classChannel.html#a4">00216</a> <font class="keyword">const</font> <a class="code" href="classChannel.html">Channel</a>&amp; <a class="code" href="classChannel.html#a4">Channel::operator &gt;&gt; </a>(std::string&amp; msg)<font class="keyword"></font>
  00217 <font class="keyword"></font>{
  00218     <font class="keywordflow">if</font>(INVALID_SOCKET == m_Sock) 
  00219     {
  00220         <a class="code" href="classChannel.html#c1">Error</a>(<font class="stringliteral">"Reading cannot be done without having a open socket."</font>);
  00221         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Input streaming error on undefined channel; please open the channel first"</font>);
  00222     }
  00223 
  00224     <font class="keywordtype">int</font> nByteRecv = 0;
  00225     <font class="keyword">const</font> <font class="keywordtype">int</font> BUF_SIZE = 4096;
  00226     <font class="keywordtype">char</font> buf[BUF_SIZE];
  00227     
  00228     <font class="keywordflow">do</font>  <font class="comment">// Manage multiple chuncks of the message</font>
  00229     {
  00230         <font class="keywordflow">if</font> ((nByteRecv = recv(m_Sock, (<font class="keywordtype">char</font> *) &amp;buf, BUF_SIZE - 1, 0)) == SOCKET_ERROR)
  00231         {
  00232             <a class="code" href="classChannel.html#c1">Error</a>(<font class="stringliteral">"Channel error while getting data."</font>);
  00233             <a class="code" href="classChannel.html#c2">CloseChannel</a>();
  00234             <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Input streaming error on Channel while getting data"</font>);
  00235         }
  00236 
  00237         <font class="keywordflow">if</font>(nByteRecv)
  00238         {
  00239             buf[nByteRecv + 1] = <font class="charliteral">'\0'</font>;  <font class="comment">// got a part of the message, so add it to form </font>
  00240             msg += buf;                 <font class="comment">// the whole message</font>
  00241 
  00242             <font class="comment">//Validate according to the transport; check whether we are in a position to return.</font>
  00243             <font class="keywordflow">if</font> (!m_pTransportHandler-&gt;<a class="code" href="classTransport.html#a3">GetStatus</a>(msg)) 
  00244                 <font class="keywordflow">break</font>;
  00245         }
  00246         <font class="keywordflow">else</font>
  00247             <font class="keywordflow">break</font>; <font class="comment">// we have the whole message or an error has occured</font>
  00248      }
  00249      <font class="keywordflow">while</font> (<font class="keyword">true</font>);
  00250 
  00251      <font class="keywordflow">return</font> *<font class="keyword">this</font>;
  00252 }
  00253 
  00258 
  <a name="l00259"></a><a class="code" href="classChannel.html#c2">00259</a> <font class="keywordtype">void</font> <a class="code" href="classChannel.html#c2">Channel::CloseChannel</a>()<font class="keyword"></font>
  00260 <font class="keyword"></font>{
  00261 <font class="preprocessor">#ifdef WIN32</font>
  00262 <font class="preprocessor"></font>    <font class="keywordflow">if</font>(INVALID_SOCKET != m_Sock)
  00263         closesocket(m_Sock);
  00264     
  00265     <font class="comment">// Check for any possible error conditions from WSACleanup() and report</font>
  00266     <font class="comment">// them before exiting, as this information might indicate a network</font>
  00267     <font class="comment">// layer problem in the system.</font>
  00268 
  00269     WSACleanup();
  00270 <font class="preprocessor">#else</font>
  00271 <font class="preprocessor"></font>    <font class="keywordflow">if</font>(INVALID_SOCKET != m_Sock)
  00272         close(m_Sock);
  00273 
  00274 <font class="preprocessor">#endif</font>
  00275 <font class="preprocessor"></font>}
  00276 
  <a name="l00282"></a><a class="code" href="classChannel.html#c1">00282</a> <font class="keywordtype">void</font> <a class="code" href="classChannel.html#c1">Channel::Error</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> * err)<font class="keyword"></font>
  00283 <font class="keyword"></font>{
  00284 <font class="preprocessor">#ifdef _DEBUG</font>
  00285 <font class="preprocessor"></font>    std::cerr &lt;&lt; err &lt;&lt; std::endl;
  00286 <font class="preprocessor">#endif</font>
  00287 <font class="preprocessor"></font>}
  00288 
  00289 
  00290 
  00291 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8cpp.html
  
  Index: Channel_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Channel.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  
  <p>
  <a href="Channel_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8hpp-source.html
  
  Index: Channel_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Channel.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel.hpp</h1><a href="Channel_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_CHANNEL_HPP)</font>
  <a name="l00046"></a><a class="code" href="Channel_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_CHANNEL_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;string&gt;</font>
  00049 
  00050 
  00051 <font class="comment">// platform specific stuff</font>
  00052 
  00053 <font class="preprocessor">#if (defined(_LINUX) || defined(_SUNOS) || defined(_AIX) || defined(_BSD))</font>
  00054 <font class="preprocessor"></font>
  00055 
  00056 <font class="preprocessor">#include    &lt;unistd.h&gt;</font>
  00057 <font class="preprocessor">#include    &lt;sys/types.h&gt;</font>   <font class="comment">// basic system data types </font>
  00058 <font class="preprocessor">#include    &lt;sys/socket.h&gt;</font>  <font class="comment">// basic socket definitions</font>
  00059 <font class="preprocessor">#include    &lt;fcntl.h&gt;</font>       <font class="comment">// for nonblocking if need</font>
  00060 <font class="preprocessor">#include    &lt;netdb.h&gt;</font>
  00061 <font class="preprocessor">#include    &lt;netinet/in.h&gt;</font>
  00062 <font class="preprocessor">#include    &lt;arpa/inet.h&gt;</font>   <font class="comment">// inet(3) functions</font>
  00063 
  00064 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> INVALID_SOCKET =  0;
  00065 <font class="keyword">const</font> <font class="keywordtype">int</font>          SOCKET_ERROR   = -1;
  00066 
  00067 <font class="comment">// Other OS specific stuff goes here</font>
  00068 
  00069 
  00070 <font class="preprocessor">#elif  defined(WIN32)</font>
  00071 <font class="preprocessor"></font>
  00072 <font class="preprocessor">#include &lt;winsock2.h&gt;</font>
  00073 
  00074 <font class="comment">// what version of WinSock is required </font>
  00075 <font class="keyword">const</font> <font class="keywordtype">int</font>   WS_VERSION_REQD = 0x0101;
  00076 
  00077 <font class="comment">// macros to get version major &amp; minor</font>
  00078 <font class="keyword">inline</font> WS_VERSION_MAJOR()<font class="keyword"> </font>{<font class="keywordflow">return</font> HIBYTE(WS_VERSION_REQD);}
  00079 <font class="keyword">inline</font> WS_VERSION_MINOR()<font class="keyword"> </font>{<font class="keywordflow">return</font> LOBYTE(WS_VERSION_REQD);}
  00080 
  00081 
  00082 <font class="preprocessor">#endif</font>
  00083 <font class="preprocessor"></font>
  00084 
  <a name="l00094"></a><a class="code" href="classChannelException.html">00094</a> <font class="keyword">class </font><a class="code" href="classChannelException.html">ChannelException</a>
  00095 {
  00096     <font class="keyword">public</font>:
  <a name="l00098"></a><a class="code" href="classChannelException.html#a0">00098</a>         <a class="code" href="classChannelException.html#a0">ChannelException</a>(std::string p_Err)<font class="keyword"></font>{m_Error = p_Err;}
  <a name="l00099"></a><a class="code" href="classChannelException.html#a1">00099</a>         <a class="code" href="classChannelException.html#a1">~ChannelException</a>()<font class="keyword"></font>{}
  00100 
  <a name="l00102"></a><a class="code" href="classChannelException.html#a2">00102</a>         <font class="keyword">const</font> std::string&amp; <a class="code" href="classChannelException.html#a2">GetErr</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Error;}
  00103 
  00104     <font class="keyword">private</font>:
  00105 
  <a name="l00106"></a><a class="code" href="classChannelException.html#o0">00106</a>         std::string m_Error;  
  00107 };
  00108 
  00109 
  00110 
  00111 
  00112 <font class="keyword">class </font><a class="code" href="classTransport.html">Transport</a>;
  00113 
  00123 
  <a name="l00124"></a><a class="code" href="classChannel.html">00124</a> <font class="keyword">class </font><a class="code" href="classChannel.html">Channel</a>  
  00125 {
  00126 <font class="keyword">public</font>:
  00127     <a class="code" href="classChannel.html#a0">Channel</a>();
  00128     <a class="code" href="classChannel.html#a1">~Channel</a>();
  00129 
  00131     <font class="keywordtype">bool</font>  <a class="code" href="classChannel.html#a2">Open</a>(std::string&amp; p_RemoteNode, <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> p_RemoteEnd) <font class="keywordflow">throw</font> (<a class="code" href="classChannelException.html">ChannelException</a>);
  00132 
  <a name="l00134"></a><a class="code" href="classChannel.html#a3">00134</a>     <font class="keywordtype">void</font>  <a class="code" href="classChannel.html#a3">Close</a>()<font class="keyword"></font>{<a class="code" href="classChannel.html#c2">CloseChannel</a>();}
  00135 
  00137     <font class="keyword">const</font> <a class="code" href="classChannel.html">Channel</a>&amp; <a class="code" href="classChannel.html#a4">operator &gt;&gt; </a>(std::string&amp; msg);
  00138     
  00140     <font class="keyword">const</font> <a class="code" href="classChannel.html">Channel</a>&amp; <a class="code" href="classChannel.html#a5">operator &lt;&lt; </a>(<font class="keyword">const</font> std::string&amp; msg);
  00141     
  <a name="l00143"></a><a class="code" href="classChannel.html#a6">00143</a>     <font class="keyword">const</font> std::string&amp; <a class="code" href="classChannel.html#a6">GetLastError</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_LastErr;}
  00144 
  <a name="l00146"></a><a class="code" href="classChannel.html#a7">00146</a>     <font class="keywordtype">void</font> <a class="code" href="classChannel.html#a7">SetTransportHandler</a>(<a class="code" href="classTransport.html">Transport</a>* transport)<font class="keyword"></font>{m_pTransportHandler = transport;}
  00147 
  00148 <font class="keyword">private</font>:
  00150     <font class="keywordtype">bool</font> <a class="code" href="classChannel.html#c0">Init</a>();
  00151 
  00153     <font class="keywordtype">void</font> <a class="code" href="classChannel.html#c1">Error</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> * err);
  00154 
  00156     <font class="keywordtype">void</font> <a class="code" href="classChannel.html#c2">CloseChannel</a>();
  00157 
  <a name="l00158"></a><a class="code" href="classChannel.html#o0">00158</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>    m_Sock;             
  <a name="l00159"></a><a class="code" href="classChannel.html#o1">00159</a>     std::string     m_RemoteNode;       
  <a name="l00160"></a><a class="code" href="classChannel.html#o2">00160</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font>  m_RemoteEnd;        
  <a name="l00161"></a><a class="code" href="classChannel.html#o3">00161</a>     std::string     m_LastErr;          
  00162 
  <a name="l00163"></a><a class="code" href="classChannel.html#o4">00163</a>     <a class="code" href="classTransport.html">Transport</a>   * m_pTransportHandler;  
  00164 };
  00165 
  00166 
  00167 
  00168 
  00169 <font class="preprocessor">#endif // _AXIS_CHANNEL_HPP</font>
  00170 <font class="preprocessor"></font>
  00171 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Channel_8hpp.html
  
  Index: Channel_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Channel.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  
  <p>
  <a href="Channel_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classChannel.html">Channel</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>The primitive socket implementation for SOAP Envelops passing.</em> <a href="classChannel.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classChannelException.html">ChannelException</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>The primitive socket exception for tranport layer to handle.</em> <a href="classChannelException.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Channel_8hpp.html#a0">_AXIS_CHANNEL_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Channel.hpp::_AXIS_CHANNEL_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_CHANNEL_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00046">46</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8cpp-source.html
  
  Index: HttpTransport_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>HttpTransport.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport.cpp</h1><a href="HttpTransport_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="HttpTransport_8hpp.html">HttpTransport.hpp</a>"</font>
  00048 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00050 
  00054 
  <a name="l00055"></a><a class="code" href="classHttpTransport.html#a2">00055</a> <a class="code" href="classHttpTransport.html#a2">HttpTransport::~HttpTransport</a>()<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057     m_Channel.Close();
  00058 }
  00059 
  <a name="l00067"></a><a class="code" href="classHttpTransport.html#a3">00067</a> <font class="keywordtype">bool</font> <a class="code" href="classHttpTransport.html#a3">HttpTransport::Init</a>()<font class="keyword"></font>
  00068 <font class="keyword"></font>{
  00069     <font class="comment">// open a channel for transport</font>
  00070     <font class="keywordflow">try</font>
  00071     {
  00072         m_bStatus = <font class="keyword">true</font>;
  00073         std::string host = m_Url.GetHostName();
  00074         m_Channel.Open(host, m_Url.GetPort());
  00075         m_Channel.SetTransportHandler(<font class="keyword">this</font>);
  00076     }
  00077     <font class="keywordflow">catch</font>(<a class="code" href="classChannelException.html">ChannelException</a>&amp; chEx)
  00078     {
  00079         std::cerr &lt;&lt; chEx.GetErr() &lt;&lt; std::endl;
  00080         <font class="keywordflow">throw</font>;
  00081     }
  00082     <font class="keywordflow">return</font> <font class="keyword">true</font>;
  00083 }
  00084 
  00085 
  00092 
  <a name="l00093"></a><a class="code" href="classHttpTransport.html#a5">00093</a> <font class="keywordtype">void</font>  <a class="code" href="classHttpTransport.html#a5">HttpTransport::SetProperty</a>(<font class="keyword">const</font> std::string&amp; p_Property, <font class="keyword">const</font> std::string&amp; p_Value)<font class="keyword"></font>
  00094 <font class="keyword"></font>{
  00095     m_AdditionalHeader.push_back(std::make_pair(p_Property, p_Value));
  00096 }
  00097 
  00098 
  00105 
  <a name="l00106"></a><a class="code" href="classHttpTransport.html#a6">00106</a> <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classHttpTransport.html#a6">HttpTransport::operator &gt;&gt; </a>(std::string&amp; p_Payload)<font class="keyword"></font>
  00107 <font class="keyword"></font>{
  00108     <font class="keywordflow">if</font>(!m_bStatus) 
  00109     {
  00110         <font class="comment">// We have the payload; this is due to Fault request made in earlier call </font>
  00111         <font class="comment">// to this method</font>
  00112         p_Payload = m_PayLoad;
  00113         <font class="keywordflow">return</font> *<font class="keyword">this</font>;
  00114     }
  00115 
  00116     std::string tmpPacket;  <font class="comment">// use temporary, need to workout for this</font>
  00117     m_Channel &gt;&gt; tmpPacket;
  00118 
  00119 <font class="preprocessor">#ifdef _DEBUG</font>
  00120 <font class="preprocessor"></font>    std::cout &lt;&lt; <font class="stringliteral">"\n\n\nGot the message:\r\n\r\n"</font> &lt;&lt; tmpPacket &lt;&lt; <font class="stringliteral">"\n\n"</font>;
  00121 <font class="preprocessor">#endif</font>
  00122 <font class="preprocessor"></font>    
  00123     <font class="comment">// Validate the HTTP packet</font>
  00124     <font class="keywordflow">if</font>(!m_bStatus) <a class="code" href="classHttpTransport.html#c1">HTTPValidate</a>(tmpPacket);
  00125 
  00126     <font class="comment">// At this point we have the payload at hand so give it out</font>
  00127     p_Payload = m_PayLoad;
  00128     <font class="keywordflow">return</font> *<font class="keyword">this</font>;
  00129 }
  00130 
  00131 
  00136 
  <a name="l00137"></a><a class="code" href="classHttpTransport.html#a7">00137</a> <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classHttpTransport.html#a7">HttpTransport::operator &lt;&lt; </a>(<font class="keyword">const</font> std::string&amp; p_Payload)<font class="keyword"></font>
  00138 <font class="keyword"></font>{
  00139     <a class="code" href="classHttpTransport.html#c0">HTTPBind</a>(p_Payload);    <font class="comment">// Bind the SOAP-Envelop with HTTP headers</font>
  00140 
  00141 <font class="preprocessor">#ifdef _DEBUG</font>
  00142 <font class="preprocessor"></font>    std::cout &lt;&lt; <font class="stringliteral">"\n\n\n"</font>;
  00143     std::cout &lt;&lt; m_OutMsg.str() &lt;&lt; std::endl;
  00144 <font class="preprocessor">#endif</font>
  00145 <font class="preprocessor"></font>
  00146     <font class="comment">// Write to the established channel</font>
  00147     m_Channel &lt;&lt; m_OutMsg.str();
  00148     <font class="keywordflow">return</font> *<font class="keyword">this</font>;
  00149 }
  00150 
  00151 
  <a name="l00160"></a><a class="code" href="classHttpTransport.html#c0">00160</a> <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c0">HttpTransport::HTTPBind</a>(<font class="keyword">const</font> std::string&amp; p_Payload)<font class="keyword"></font>
  00161 <font class="keyword"></font>{
  00162     <font class="keywordflow">if</font>(m_Typ == POST)               <font class="comment">// only POST is supported for now, wish-list: M-POST??</font>
  00163         m_OutMsg &lt;&lt; <font class="stringliteral">"POST "</font>;
  00164 
  00165     <font class="comment">// Use HTTP 1.1; if HTTP 1.0 is required we have to manage with setting the properties</font>
  00166     m_OutMsg &lt;&lt; m_Url.GetResource() &lt;&lt; <font class="stringliteral">" HTTP/1.1\r\n"</font>; <font class="comment">// no support for proxy server yet</font>
  00167     m_OutMsg &lt;&lt; <font class="stringliteral">"Host: "</font> &lt;&lt; m_Url.GetHostName();
  00168 
  00169     <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> port = m_Url.GetPort();
  00170 
  00171     <font class="keywordflow">if</font>(port != HTTP_PORT)
  00172         m_OutMsg &lt;&lt; <font class="stringliteral">":"</font> &lt;&lt; port;
  00173 
  00174     m_OutMsg &lt;&lt; <font class="stringliteral">"\r\n"</font>;
  00175     m_OutMsg &lt;&lt; <font class="stringliteral">"Content-Type: text/xml; charset=\"UTF-8\"\r\n"</font>;    <font class="comment">// We have to support other charsets</font>
  00176     m_OutMsg &lt;&lt; <font class="stringliteral">"Content-Length: "</font> &lt;&lt; p_Payload.size() &lt;&lt; <font class="stringliteral">"\r\n"</font>;
  00177     
  00178     <font class="comment">//Set header values for additional prefixes, such as SOAPAction</font>
  00179     <font class="keywordflow">for</font>(<font class="keywordtype">int</font> i=0; i &lt; m_AdditionalHeader.size(); i++)
  00180         m_OutMsg &lt;&lt; m_AdditionalHeader[i].first &lt;&lt; <font class="stringliteral">": \""</font> 
  00181                  &lt;&lt; m_AdditionalHeader[i].second &lt;&lt; <font class="stringliteral">"\"\r\n"</font>;
  00182 
  00183     m_OutMsg &lt;&lt; <font class="stringliteral">"\r\n"</font>;
  00184     m_OutMsg &lt;&lt; p_Payload;
  00185 }
  00186 
  00187 
  00195 
  <a name="l00196"></a><a class="code" href="classHttpTransport.html#a4">00196</a> <font class="keywordtype">bool</font> <a class="code" href="classHttpTransport.html#a4">HttpTransport::GetStatus</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket)<font class="keyword"></font>
  00197 <font class="keyword"></font>{
  00198     <a class="code" href="classHttpTransport.html#c1">HTTPValidate</a>(p_HttpPacket);
  00199     <font class="keywordflow">return</font> m_bStatus;
  00200 }
  00201 
  00202 
  00210 
  <a name="l00211"></a><a class="code" href="classHttpTransport.html#c1">00211</a> <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c1">HttpTransport::HTTPValidate</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket)<font class="keyword"></font>
  00212 <font class="keyword"></font>{
  00213     <font class="comment">// for the time being just get the payload. Here we need much work</font>
  00214 
  00215     m_bStatus = <font class="keyword">true</font>;
  00216     std::string::size_type pos = p_HttpPacket.find(<font class="charliteral">'\n'</font>), nxtpos;
  00217 
  00218     <font class="keywordtype">int</font> nHttpSatus;
  00219 
  00220     <font class="keywordflow">if</font>(pos == std::string::npos) <font class="keywordflow">return</font>; <font class="comment">//unexpected string</font>
  00221 
  00222     std::string strLine = p_HttpPacket.substr(0, pos + 1);
  00223     std::string::size_type offset = pos + 1;
  00224 
  00225     <font class="comment">// Check for HTTP header validity; HTTP 1.0 / HTTP 1.0 is supported.</font>
  00226     <font class="keywordflow">if</font>((pos = strLine.find(<font class="stringliteral">"HTTP/1.0"</font>)) != std::string::npos
  00227         || (pos = strLine.find(<font class="stringliteral">"HTTP/1.1"</font>)) != std::string::npos)
  00228     {
  00229         <font class="keywordflow">if</font>(((pos = strLine.find_first_of(<font class="stringliteral">"\" "</font>, pos + strlen(<font class="stringliteral">"HTTP/1.x"</font>))) 
  00230             != std::string::npos) &amp;&amp;
  00231             (nxtpos = strLine.find_first_of(<font class="stringliteral">"\" "</font>, pos)) != std::string::npos)
  00232         {
  00233             pos++;
  00234             <font class="comment">// Get the HTTP status code of the packet obtained</font>
  00235             nHttpSatus = atoi(strLine.substr(pos, nxtpos - pos).c_str())/100;
  00236         }
  00237         <font class="keywordflow">else</font>
  00238             <font class="keywordflow">return</font>;
  00239 
  00240 
  00241         <font class="comment">// Status code is 2xx; so valid packet. hence go ahead and extract the payload.</font>
  00242         <font class="keywordflow">if</font>(nHttpSatus == 2)
  00243         {
  00244             <a class="code" href="classHttpTransport.html#c2">GetPayLoad</a>(p_HttpPacket, offset);
  00245         }
  00246         <font class="keywordflow">else</font> <font class="keywordflow">if</font>(nHttpSatus == 3)    <font class="comment">// Status code is 3xx; some error has occurred</font>
  00247         {
  00248             <font class="comment">// error recovery mechanism should go here</font>
  00249             <a class="code" href="classHttpTransport.html#c3">Error</a>(p_HttpPacket.c_str());
  00250             <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"HTTP Error, cannot process response message..."</font>);
  00251         }
  00252         <font class="keywordflow">else</font> <font class="keywordflow">if</font>(nHttpSatus == 4)    <font class="comment">// Status code is 4xx; some error has occurred</font>
  00253         {
  00254             <font class="comment">// error recovery mechanism should go here</font>
  00255             <a class="code" href="classHttpTransport.html#c3">Error</a>(p_HttpPacket.c_str());
  00256             <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"HTTP Error, cannot process response message..."</font>);
  00257         }
  00258         <font class="keywordflow">else</font> <font class="keywordflow">if</font>(nHttpSatus == 5)    <font class="comment">// Status code is 5xx; some error has occurred</font>
  00259         {
  00260             <font class="comment">// error recovery mechanism should go here</font>
  00261             <a class="code" href="classHttpTransport.html#c2">GetPayLoad</a>(p_HttpPacket, offset);
  00262             <font class="keywordflow">if</font> (!m_bStatus) 
  00263             {
  00264                 <a class="code" href="classHttpTransport.html#c3">Error</a>(p_HttpPacket.c_str());
  00265                 <font class="keywordflow">throw</font> AxisFault(<font class="stringliteral">"HTTP Error, cannot process response message..."</font>, 1);
  00266             }
  00267         }
  00268     }
  00269     <font class="keywordflow">else</font>
  00270         <font class="keywordflow">throw</font> ChannelException(<font class="stringliteral">"Unknow HTTP response, cannot process response message..."</font>);
  00271 
  00272 }
  00273 
  00274 
  00279 
  <a name="l00280"></a><a class="code" href="classHttpTransport.html#c2">00280</a> <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c2">HttpTransport::GetPayLoad</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket, std::string::size_type&amp; offset)<font class="keyword"></font>
  00281 <font class="keyword"></font>{
  00282     std::string::size_type pos, nxtpos;
  00283     std::string strLine;
  00284     <font class="keywordtype">int</font> len=0;
  00285 
  00286     <font class="comment">// process rest of the HTTP packet</font>
  00287     <font class="keywordflow">while</font> (<font class="keyword">true</font>)
  00288     {
  00289         <font class="keywordflow">if</font>((nxtpos = p_HttpPacket.find(<font class="charliteral">'\n'</font>, offset)) == std::string::npos) <font class="keywordflow">return</font>;
  00290         nxtpos++;
  00291         strLine = p_HttpPacket.substr(offset, nxtpos - offset);
  00292         offset = nxtpos;
  00293 
  00294         <font class="keywordflow">if</font>((strLine == <font class="stringliteral">"\r\n"</font>) || (strLine == <font class="stringliteral">"\n"</font>) || strLine.size() &lt;= 1)
  00295             <font class="keywordflow">break</font>;
  00296 
  00297         <font class="comment">// Get the payload size from the header.</font>
  00298         <font class="keywordflow">if</font>((pos = strLine.find(<font class="stringliteral">"Content-Length:"</font>)) != std::string::npos) 
  00299             len = atoi(strLine.substr(pos + strlen(<font class="stringliteral">"Content-Length: "</font>)).c_str());
  00300     }
  00301     m_PayLoad = p_HttpPacket.substr(offset);
  00302 
  00303     <font class="keywordflow">if</font>( m_PayLoad.size() &gt;= len)
  00304         m_bStatus = <font class="keyword">false</font>;
  00305 }
  00306 
  00307 
  00312 
  <a name="l00313"></a><a class="code" href="classHttpTransport.html#c3">00313</a> <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c3">HttpTransport::Error</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> * err)<font class="keyword"></font>
  00314 <font class="keyword"></font>{
  00315 <font class="preprocessor">#ifdef _DEBUG</font>
  00316 <font class="preprocessor"></font>    std::cerr &lt;&lt; err &lt;&lt; std::endl;
  00317 <font class="preprocessor">#endif</font>
  00318 <font class="preprocessor"></font>}
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8cpp.html
  
  Index: HttpTransport_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>HttpTransport.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="HttpTransport_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8hpp-source.html
  
  Index: HttpTransport_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>HttpTransport.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport.hpp</h1><a href="HttpTransport_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_HTTPTRANSPORT_HPP)</font>
  <a name="l00047"></a><a class="code" href="HttpTransport_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_HTTPTRANSPORT_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;sstream&gt;</font>
  00050 <font class="preprocessor">#include &lt;vector&gt;</font>
  00051 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00052 
  00053 
  00063 
  00064 
  00065 
  <a name="l00066"></a><a class="code" href="classHttpTransport.html">00066</a> <font class="keyword">class </font><a class="code" href="classHttpTransport.html">HttpTransport</a>  : <font class="keyword">public</font> <a class="code" href="classTransport.html">Transport</a>
  00067 {
  00068 <font class="keyword">public</font>:
  <a name="l00070"></a><a class="code" href="classHttpTransport.html#s2">00070</a>     <font class="keyword">enum</font> Type{POST, MPOST};
  00071 
  <a name="l00073"></a><a class="code" href="classHttpTransport.html#a0">00073</a>     <a class="code" href="classHttpTransport.html#a0">HttpTransport</a>(<a class="code" href="classUrl.html">Url</a> url) : m_Typ(POST) {m_Url = url;}
  00074 
  <a name="l00076"></a><a class="code" href="classHttpTransport.html#a1">00076</a>     <a class="code" href="classHttpTransport.html#a0">HttpTransport</a>(std::string&amp; strUrl) : m_Typ(POST) {m_Url = Url(strUrl); m_strUrl = strUrl;}
  00077     <a class="code" href="classHttpTransport.html#a2">~HttpTransport</a>();
  00078 
  00080     <font class="keywordtype">bool</font>  <a class="code" href="classTransport.html#a2">Init</a>();
  00081 
  00083     <font class="keywordtype">bool</font>  <a class="code" href="classTransport.html#a3">GetStatus</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket);
  00084 
  00086     <font class="keywordtype">void</font>  <a class="code" href="classTransport.html#a4">SetProperty</a>(<font class="keyword">const</font> std::string&amp; p_Property, <font class="keyword">const</font> std::string&amp; p_Value);
  00087 
  00089     <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classTransport.html#a5">operator &gt;&gt; </a>(std::string&amp; p_Payload);
  00090 
  00092     <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classTransport.html#a6">operator &lt;&lt; </a>(<font class="keyword">const</font> std::string&amp; p_Payload);
  00093 
  00094 <font class="keyword">private</font>:
  00096     <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c0">HTTPBind</a>(<font class="keyword">const</font> std::string&amp; p_Payload);
  00097 
  00099     <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c1">HTTPValidate</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket);
  00100 
  00102     <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c2">GetPayLoad</a>(<font class="keyword">const</font> std::string&amp; p_HttpPacket, std::string::size_type&amp; offset);
  00103 
  00105     <font class="keywordtype">void</font> <a class="code" href="classHttpTransport.html#c3">Error</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> * err);
  00106 
  00107 <font class="keyword">private</font>:
  00108 
  <a name="l00109"></a><a class="code" href="classHttpTransport.html#u0">00109</a>     <font class="keyword">typedef</font> std::vector&lt; std::pair&lt;std::string, std::string&gt; &gt; Header_t; 
  00110 
  <a name="l00111"></a><a class="code" href="classHttpTransport.html#o0">00111</a>     Type m_Typ;                     
  00112 
  <a name="l00113"></a><a class="code" href="classHttpTransport.html#o1">00113</a>     <a class="code" href="classstd_1_1ostringstream.html">std::ostringstream</a> m_OutMsg;    
  <a name="l00114"></a><a class="code" href="classHttpTransport.html#o2">00114</a>     std::istringstream m_InMsg;     
  00115 
  <a name="l00116"></a><a class="code" href="classHttpTransport.html#o3">00116</a>     std::string m_PayLoad;          
  <a name="l00117"></a><a class="code" href="classHttpTransport.html#o4">00117</a>     Header_t    m_AdditionalHeader; 
  00118 
  00119 };
  00120 
  00121 <font class="preprocessor">#endif //_AXIS_HTTPTRANSPORT_HPP</font>
  00122 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/HttpTransport_8hpp.html
  
  Index: HttpTransport_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>HttpTransport.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport.hpp File Reference</h1><code>#include &lt;sstream&gt;</code><br>
  <code>#include &lt;vector&gt;</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  
  <p>
  <a href="HttpTransport_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html">HttpTransport</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>The HTTP transport implementation for SOAP.</em> <a href="classHttpTransport.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="HttpTransport_8hpp.html#a0">_AXIS_HTTPTRANSPORT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="HttpTransport.hpp::_AXIS_HTTPTRANSPORT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_HTTPTRANSPORT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00047">47</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8cpp-source.html
  
  Index: MessageElement_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>MessageElement.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement.cpp</h1><a href="MessageElement_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00047 
  00048 
  <a name="l00049"></a><a class="code" href="classMessageElement.html#a0">00049</a> <a class="code" href="classMessageElement.html#a0">MessageElement::MessageElement</a>()<font class="keyword"></font>
  00050 <font class="keyword"></font>{
  00051 
  00052 }
  00053 
  <a name="l00054"></a><a class="code" href="classMessageElement.html#a3">00054</a> <a class="code" href="classMessageElement.html#a3">MessageElement::~MessageElement</a>()<font class="keyword"></font>
  00055 <font class="keyword"></font>{
  00056 
  00057 }
  00058 
  <a name="l00059"></a><a class="code" href="classMessageElement.html#a1">00059</a> <a class="code" href="classMessageElement.html#a0">MessageElement::MessageElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00060 <font class="keyword"></font>{
  00061     m_pElmNode = p_Elm;
  00062     m_Name     = p_Elm.getLocalName().transcode();
  00063     m_NsURI    = p_Elm.getNamespaceURI().transcode();
  00064 }
  00065 
  <a name="l00066"></a><a class="code" href="classMessageElement.html#a2">00066</a> <a class="code" href="classMessageElement.html#a0">MessageElement::MessageElement</a>(<font class="keyword">const</font> std::string&amp; p_Ns, <font class="keyword">const</font> std::string&amp; p_LocalPart)<font class="keyword"></font>
  00067 <font class="keyword"></font>{
  00068     m_Name  = p_LocalPart;
  00069     prefix  = <font class="stringliteral">""</font>;
  00070     m_NsURI = p_Ns;
  00071 }
  00072 
  <a name="l00073"></a><a class="code" href="classMessageElement.html#a6">00073</a> <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a6">MessageElement::SetMsgElm</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00074 <font class="keyword"></font>{
  00075     m_pElmNode = p_Elm;
  00076     m_Name     = p_Elm.getLocalName().transcode();
  00077     m_NsURI    = p_Elm.getNamespaceURI().transcode();
  00078 }
  00079 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8cpp.html
  
  Index: MessageElement_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>MessageElement.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  
  <p>
  <a href="MessageElement_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8hpp-source.html
  
  Index: MessageElement_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>MessageElement.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement.hpp</h1><a href="MessageElement_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_MESSAGEELEMENT_HPP)</font>
  <a name="l00047"></a><a class="code" href="MessageElement_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_MESSAGEELEMENT_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="AttList_8hpp.html">AttList.hpp</a>"</font>
  00050 <font class="preprocessor">#include &lt;dom/DOM_Node.hpp&gt;</font>
  00051 <font class="preprocessor">#include &lt;dom/DOM_Element.hpp&gt;</font>
  00052 
  00053 
  00054 <font class="keyword">class </font><a class="code" href="classXMLSerializer.html">XMLSerializer</a>;
  00055 <font class="keyword">class </font><a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>;
  00056 
  <a name="l00067"></a><a class="code" href="classMessageElement.html">00067</a> <font class="keyword">class </font><a class="code" href="classMessageElement.html">MessageElement</a>  
  00068 {
  00069     <font class="keyword">public</font>:
  00071         <a class="code" href="classMessageElement.html#a0">MessageElement</a>();
  00072 
  00074         <a class="code" href="classMessageElement.html#a0">MessageElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00075 
  00077         <a class="code" href="classMessageElement.html#a0">MessageElement</a>(<font class="keyword">const</font> std::string&amp; p_Ns, <font class="keyword">const</font> std::string&amp; p_LocalPart);
  00078         <font class="keyword">virtual</font> <a class="code" href="classMessageElement.html#a3">~MessageElement</a>();
  00079 
  <a name="l00081"></a><a class="code" href="classMessageElement.html#a4">00081</a>         <font class="keyword">virtual</font> <font class="keywordtype">void</font>   <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>{}
  00082 
  <a name="l00084"></a><a class="code" href="classMessageElement.html#a5">00084</a>         <font class="keyword">virtual</font> <font class="keywordtype">void</font>   <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>{}
  00085 
  00087         <font class="keyword">virtual</font> <font class="keywordtype">void</font>   <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00088 
  <a name="l00090"></a><a class="code" href="classMessageElement.html#a7">00090</a>         <font class="keyword">virtual</font> <font class="keywordtype">void</font>   <a class="code" href="classMessageElement.html#a7">SetElmQName</a>(<font class="keyword">const</font> <a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_qName)<font class="keyword"></font>{m_qName = p_qName;};
  00091 
  <a name="l00093"></a><a class="code" href="classMessageElement.html#a8">00093</a>         <font class="keyword">virtual</font> <font class="keywordtype">void</font>   <a class="code" href="classMessageElement.html#a8">AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>{}
  00094 
  <a name="l00096"></a><a class="code" href="classMessageElement.html#a9">00096</a>         <font class="keyword">virtual</font> <a class="code" href="classax_1_1QName.html">ax::QName</a> <a class="code" href="classMessageElement.html#a9">GetElmQName</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_qName;};
  00097 
  00098     <font class="keyword">protected</font>:
  <a name="l00099"></a><a class="code" href="classMessageElement.html#n0">00099</a>         std::string    m_Name ; 
  <a name="l00100"></a><a class="code" href="classMessageElement.html#n1">00100</a>         std::string    prefix ; 
  <a name="l00101"></a><a class="code" href="classMessageElement.html#n2">00101</a>         std::string    m_NsURI; 
  00102 
  <a name="l00103"></a><a class="code" href="classMessageElement.html#n3">00103</a>         DOM_Element m_pElmNode; 
  <a name="l00104"></a><a class="code" href="classMessageElement.html#n4">00104</a>         <a class="code" href="classAttList.html">AttList</a>     m_AttLst;   
  00105 
  <a name="l00106"></a><a class="code" href="classMessageElement.html#n5">00106</a>         <a class="code" href="classax_1_1QName.html">ax::QName</a> m_qName;      
  00107     
  <a name="l00108"></a><a class="code" href="classMessageElement.html#n6">00108</a>         std::string m_Msg;
  00109 };
  00110 
  00111 <font class="preprocessor">#endif // _AXIS_MESSAGEELEMENT_HPP</font>
  00112 <font class="preprocessor"></font>
  00113 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/MessageElement_8hpp.html
  
  Index: MessageElement_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>MessageElement.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement.hpp File Reference</h1><code>#include "<a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>"</code><br>
  <code>#include &lt;dom/DOM_Node.hpp&gt;</code><br>
  <code>#include &lt;dom/DOM_Element.hpp&gt;</code><br>
  
  <p>
  <a href="MessageElement_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html">MessageElement</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Base class of all SOAP message components.</em> <a href="classMessageElement.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="MessageElement_8hpp.html#a0">_AXIS_MESSAGEELEMENT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="MessageElement.hpp::_AXIS_MESSAGEELEMENT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_MESSAGEELEMENT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00047">47</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8cpp-source.html
  
  Index: NsStack_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsStack.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack.cpp</h1><a href="NsStack_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="NsStack_8hpp.html">NsStack.hpp</a>"</font>
  00047 
  00048 
  <a name="l00052"></a><a class="code" href="classNsMap.html#a0">00052</a> <font class="keyword">const</font> std::string <a class="code" href="classNsMap.html#a0">NsMap::findURI</a>(<font class="keyword">const</font> std::string&amp; uri)<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054     NsMap_t::iterator itr;
  00055     <font class="keywordflow">for</font>(itr=begin();itr!=end();++itr)
  00056     {
  00057         <font class="keywordflow">if</font>(itr-&gt;first == uri) <font class="keywordflow">return</font> itr-&gt;second;
  00058     }
  00059     <font class="keywordflow">return</font> std::string(<font class="stringliteral">""</font>);
  00060 }
  00061 
  00062 
  <a name="l00066"></a><a class="code" href="classNsMap.html#a1">00066</a> <font class="keyword">const</font> std::string <a class="code" href="classNsMap.html#a1">NsMap::findPrefix</a>(<font class="keyword">const</font> std::string&amp; prefex)<font class="keyword"></font>
  00067 <font class="keyword"></font>{
  00068     NsMap_t::iterator itr;
  00069     <font class="keywordflow">for</font>(itr=begin();itr!=end();++itr)
  00070     {
  00071         <font class="keywordflow">if</font>(itr-&gt;second == prefex) <font class="keywordflow">return</font> itr-&gt;first;
  00072     }
  00073     <font class="keywordflow">return</font> std::string(<font class="stringliteral">""</font>);
  00074 }
  00075 
  <a name="l00079"></a><a class="code" href="classNsStack.html#a1">00079</a> <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a1">NsStack::Add</a>(<font class="keyword">const</font> std::string&amp; uri, <font class="keyword">const</font> std::string&amp; prefix)<font class="keyword"></font>
  00080 <font class="keyword"></font>{
  00081     <font class="keywordflow">if</font>(!Ns.empty())
  00082     {
  00083         <a class="code" href="classNsMap.html">NsMap</a> *tmpMap = <a class="code" href="classNsStack.html#a3">Peek</a>();
  00084         tmpMap-&gt;insert(std::make_pair(uri, prefix));
  00085     }
  00086     <font class="keywordflow">else</font>
  00087     {
  00088         <a class="code" href="classNsMap.html">NsMap</a> tmpMap;
  00089         tmpMap.insert(std::make_pair(uri, prefix));
  00090         Ns.push_back(tmpMap);
  00091         Indx++;
  00092     }
  00093 }
  00094 
  <a name="l00098"></a><a class="code" href="classNsStack.html#a2">00098</a> <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a2">NsStack::Push</a>()<font class="keyword"></font>
  00099 <font class="keyword"></font>{
  00100     <a class="code" href="classNsMap.html">NsMap</a> tmpMap;
  00101     tmpMap.insert(std::make_pair(std::string(<font class="stringliteral">""</font>), std::string(<font class="stringliteral">""</font>)));
  00102     Ns.push_back(tmpMap);
  00103     Indx++;
  00104 }
  00105 
  00109 
  <a name="l00110"></a><a class="code" href="classNsStack.html#a3">00110</a> <a class="code" href="classNsMap.html">NsMap</a>* <a class="code" href="classNsStack.html#a3">NsStack::Peek</a>()<font class="keyword"> </font>
  00111 <font class="keyword"></font>{
  00112     <font class="keywordflow">if</font>(Ns.empty()) <font class="keywordflow">return</font> NULL;
  00113     <font class="keywordflow">return</font> &amp;Ns[Indx];
  00114 }
  00115 
  <a name="l00119"></a><a class="code" href="classNsStack.html#a4">00119</a> <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a4">NsStack::Pop</a>()<font class="keyword"></font>
  00120 <font class="keyword"></font>{
  00121     <font class="keywordflow">if</font>(Indx&gt;=0)
  00122     {
  00123         Ns.pop_back();
  00124         Indx--;
  00125     }
  00126 }
  00127 
  00132 
  <a name="l00133"></a><a class="code" href="classNsStack.html#a5">00133</a> <font class="keyword">const</font> std::string <a class="code" href="classNsStack.html#a5">NsStack::GetPrefix</a>(<font class="keyword">const</font> std::string&amp; uri)<font class="keyword"></font>
  00134 <font class="keyword"></font>{
  00135     std::vector&lt;NsMap&gt;::iterator itr;
  00136 
  00137     <font class="keywordflow">for</font>(itr = Ns.begin(); itr != Ns.end(); ++itr)
  00138     {
  00139         std::string prefix = itr-&gt;findURI(uri);
  00140         <font class="keywordflow">if</font>(!prefix.empty()) <font class="keywordflow">return</font> prefix;
  00141     }
  00142     <font class="keywordflow">return</font> std::string(<font class="stringliteral">""</font>);
  00143 }
  00144 
  <a name="l00149"></a><a class="code" href="classNsStack.html#a6">00149</a> <font class="keyword">const</font> std::string <a class="code" href="classNsStack.html#a6">NsStack::GetNamespaceURI</a>(<font class="keyword">const</font> std::string&amp; prefix)<font class="keyword"></font>
  00150 <font class="keyword"></font>{
  00151     std::vector&lt;NsMap&gt;::iterator itr;
  00152 
  00153     <font class="keywordflow">for</font>(itr = Ns.begin(); itr != Ns.end(); ++itr)
  00154     {
  00155         std::string uri = itr-&gt;findPrefix(prefix);
  00156         <font class="keywordflow">if</font>(!uri.empty()) <font class="keywordflow">return</font> uri;
  00157     }
  00158     <font class="keywordflow">return</font> std::string(<font class="stringliteral">""</font>);
  00159 }
  00160  
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8cpp.html
  
  Index: NsStack_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsStack.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>"</code><br>
  
  <p>
  <a href="NsStack_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8hpp-source.html
  
  Index: NsStack_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsStack.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack.hpp</h1><a href="NsStack_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_NSSTACK_HPP)</font>
  <a name="l00046"></a><a class="code" href="NsStack_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_NSSTACK_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;stack&gt;</font>
  00049 <font class="preprocessor">#include &lt;map&gt;</font>
  00050 <font class="preprocessor">#include &lt;string&gt;</font>
  00051 <font class="preprocessor">#include &lt;vector&gt;</font>
  00052 
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="NsStack_8hpp.html#a1">00055</a> <font class="keyword">typedef</font> std::map&lt;std::string, std::string&gt; NsMap_t;
  00056 
  <a name="l00063"></a><a class="code" href="classNsMap.html">00063</a> <font class="keyword">class </font><a class="code" href="classNsMap.html">NsMap</a> : <font class="keyword">public</font> NsMap_t
  00064 {
  00065     <font class="keyword">public</font>:
  00067         <font class="keyword">const</font> std::string <a class="code" href="classNsMap.html#a0">findURI</a>(<font class="keyword">const</font> std::string&amp; uri);
  00069         <font class="keyword">const</font> std::string <a class="code" href="classNsMap.html#a1">findPrefix</a>(<font class="keyword">const</font> std::string&amp; prefex);
  00070 };
  00071 
  00072 
  00073 
  <a name="l00080"></a><a class="code" href="classNsStack.html">00080</a> <font class="keyword">class </font><a class="code" href="classNsStack.html">NsStack</a>
  00081 {
  00082     <font class="keyword">public</font>:
  <a name="l00084"></a><a class="code" href="classNsStack.html#a0">00084</a>         <a class="code" href="classNsStack.html#a0">NsStack</a>() : Indx(-1) {}
  00085         
  00087         <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a1">Add</a>(<font class="keyword">const</font> std::string&amp; uri, <font class="keyword">const</font> std::string&amp; prefix);
  00088 
  00090         <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a2">Push</a>(); 
  00091 
  00093         <a class="code" href="classNsMap.html">NsMap</a>* <a class="code" href="classNsStack.html#a3">Peek</a>();
  00094 
  00096         <font class="keywordtype">void</font> <a class="code" href="classNsStack.html#a4">Pop</a>();
  00097 
  00099         <font class="keyword">const</font> std::string <a class="code" href="classNsStack.html#a5">GetPrefix</a>(<font class="keyword">const</font> std::string&amp; namespaceURI); 
  00100 
  00102         <font class="keyword">const</font> std::string <a class="code" href="classNsStack.html#a6">GetNamespaceURI</a>(<font class="keyword">const</font> std::string&amp; prefix);
  00103 
  00104     <font class="keyword">private</font>:
  <a name="l00105"></a><a class="code" href="classNsStack.html#o0">00105</a>         std::vector&lt;NsMap&gt; Ns;  
  <a name="l00106"></a><a class="code" href="classNsStack.html#o1">00106</a>         <font class="keywordtype">int</font> Indx;               
  00107 };
  00108 
  00109 
  00110 
  00111 
  00112 <font class="preprocessor">#endif //_AXIS_NSSTACK_HPP</font>
  00113 <font class="preprocessor"></font>
  00114 
  00115 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/NsStack_8hpp.html
  
  Index: NsStack_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsStack.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack.hpp File Reference</h1><code>#include &lt;stack&gt;</code><br>
  <code>#include &lt;map&gt;</code><br>
  <code>#include &lt;string&gt;</code><br>
  <code>#include &lt;vector&gt;</code><br>
  
  <p>
  <a href="NsStack_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classNsMap.html">NsMap</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace map for building a SOAP Envelop.</em> <a href="classNsMap.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html">NsStack</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace stack for building a SOAP Envelop.</em> <a href="classNsStack.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="NsStack_8hpp.html#a0">_AXIS_NSSTACK_HPP</a></td></tr>
  <tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
  <tr><td nowrap align=right valign=top>typedef std::map&lt;std::string,<br>
   std::string&gt;&nbsp;</td><td valign=bottom><a class="el" href="NsStack_8hpp.html#a1">NsMap_t</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="NsStack.hpp::_AXIS_NSSTACK_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_NSSTACK_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00046">46</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Typedef Documentation</h2>
  <a name="a1" doxytag="NsStack.hpp::NsMap_t"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  typedef std::map&lt; std::string, std::string &gt; NsMap_t&lt;std::string, std::string&gt;
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00055">55</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8cpp-source.html
  
  Index: Param_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Param.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param.cpp</h1><a href="Param_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="Param_8hpp.html">Param.hpp</a>"</font>
  00047 
  00048 
  <a name="l00049"></a><a class="code" href="classParam.html#a0">00049</a> <a class="code" href="classParam.html#a0">Param::Param</a>()<font class="keyword"></font>
  00050 <font class="keyword"></font>{
  00051     m_pValue=m_pType=NULL; 
  00052     m_Name=<font class="stringliteral">"arg"</font>;
  00053 }
  00054 
  <a name="l00055"></a><a class="code" href="classParam.html#a1">00055</a> <a class="code" href="classParam.html#a1">Param::~Param</a>()<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057     <font class="keyword">delete</font> m_pType;
  00058 }
  00059 
  00060 
  00061 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8cpp.html
  
  Index: Param_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Param.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Param_8hpp-source.html">Param.hpp</a>"</code><br>
  
  <p>
  <a href="Param_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8hpp-source.html
  
  Index: Param_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Param.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param.hpp</h1><a href="Param_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_PARAM_HPP)</font>
  <a name="l00046"></a><a class="code" href="Param_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_PARAM_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;string&gt;</font>
  00049 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00050 
  00057 
  <a name="l00058"></a><a class="code" href="classParam.html">00058</a> <font class="keyword">class </font><a class="code" href="classParam.html">Param</a>
  00059 {
  00060 <font class="keyword">public</font>:
  00061     <a class="code" href="classParam.html#a0">Param</a>();
  00062     <a class="code" href="classParam.html#a1">~Param</a>();
  00063 
  <a name="l00064"></a><a class="code" href="classParam.html#m0">00064</a>     <font class="keywordtype">void</font>       *m_pValue;   
  <a name="l00065"></a><a class="code" href="classParam.html#m1">00065</a>     <a class="code" href="classax_1_1QName.html">ax::QName</a>  *m_pType;    
  <a name="l00066"></a><a class="code" href="classParam.html#m2">00066</a>     std::string m_Name;     
  00067 };
  00068 
  00069 <font class="preprocessor">#endif // _AXIS_PARAM_HPP</font>
  00070 <font class="preprocessor"></font>
  00071 
  00072 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Param_8hpp.html
  
  Index: Param_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Param.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  
  <p>
  <a href="Param_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classParam.html">Param</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Parameters for SOAP - RPC.</em> <a href="classParam.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Param_8hpp.html#a0">_AXIS_PARAM_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Param.hpp::_AXIS_PARAM_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_PARAM_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Param_8hpp-source.html#l00046">46</a> of file <a class="el" href="Param_8hpp-source.html">Param.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8cpp-source.html
  
  Index: Platform_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Platform.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Platform.cpp</h1><a href="Platform_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 
  00047 
  00048 
  00049 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8cpp.html
  
  Index: Platform_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Platform.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Platform.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  
  <p>
  <a href="Platform_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8hpp-source.html
  
  Index: Platform_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Platform.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Platform.hpp</h1><a href="Platform_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_STDAFX_H)</font>
  <a name="l00047"></a><a class="code" href="Platform_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_STDAFX_H</font>
  00048 <font class="preprocessor"></font>
  00049 
  00050 <font class="preprocessor">#ifdef WIN32</font>
  00051 <font class="preprocessor"></font>
  00052 <font class="preprocessor">#if _MSC_VER &gt; 1000</font>
  00053 <font class="preprocessor"></font><font class="preprocessor">#pragma once</font>
  00054 <font class="preprocessor"></font><font class="preprocessor">#endif // _MSC_VER &gt; 1000</font>
  00055 <font class="preprocessor"></font>
  00056 <font class="preprocessor">#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers</font>
  00057 <font class="preprocessor"></font>
  00058 <font class="preprocessor">#pragma warning ( disable : 4786 )</font>
  00059 <font class="preprocessor"></font>
  00060 
  00061 <font class="comment">//#include &lt;afx.h&gt;</font>
  00062 <font class="comment">//#include &lt;afxwin.h&gt;</font>
  00063 
  00064 <font class="preprocessor">#ifdef AXIS_EXPORTS</font>
  00065 <font class="preprocessor"></font><font class="preprocessor">#define AXIS_API __declspec(dllexport)</font>
  00066 <font class="preprocessor"></font><font class="preprocessor">#else</font>
  00067 <font class="preprocessor"></font><font class="preprocessor">#define AXIS_API __declspec(dllimport)</font>
  00068 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
  00069 <font class="preprocessor"></font>
  00070 
  00071 <font class="preprocessor">#else // WIN32</font>
  00072 <font class="preprocessor"></font>
  <a name="l00073"></a><a class="code" href="Platform_8hpp.html#a1">00073</a> <font class="preprocessor">#define AXIS_API</font>
  00074 <font class="preprocessor"></font><font class="preprocessor">#include &lt;unistd.h&gt;</font>
  00075 <font class="comment">// other OS specific stuff goes here</font>
  00076 
  00077 <font class="preprocessor">#endif</font>
  00078 <font class="preprocessor"></font>
  00079 
  00080 
  00081 <font class="preprocessor">#endif // _AXIS_STDAFX_H</font>
  00082 <font class="preprocessor"></font>
  00083 
  00084 
  00085 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Platform_8hpp.html
  
  Index: Platform_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Platform.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Platform.hpp File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
  
  <p>
  <a href="Platform_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Platform_8hpp.html#a0">_AXIS_STDAFX_H</a></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Platform_8hpp.html#a1">AXIS_API</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a1" doxytag="Platform.hpp::AXIS_API"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define AXIS_API
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Platform_8hpp-source.html#l00073">73</a> of file <a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a0" doxytag="Platform.hpp::_AXIS_STDAFX_H"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_STDAFX_H
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Platform_8hpp-source.html#l00047">47</a> of file <a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8cpp-source.html
  
  Index: QName_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>QName.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>QName.cpp</h1><a href="QName_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00047 <font class="preprocessor">#include &lt;dom/DOM_Element.hpp&gt;</font>
  00048 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00049 
  00050 <font class="keyword">namespace </font>ax
  00051 {
  00052 
  00056  
  <a name="l00057"></a><a class="code" href="classax_1_1QName.html#a1">00057</a> QName::QName(<font class="keyword">const</font> std::string&amp; p_qName)<font class="keyword"></font>
  00058 <font class="keyword"></font>{
  00059     <font class="keywordflow">if</font>(!p_qName.empty())
  00060     {
  00061         std::string::size_type pos = p_qName.find(<font class="charliteral">':'</font>);
  00062 
  00063         <font class="keywordflow">if</font>(pos == std::string::npos)
  00064         {
  00065             m_strLocalPart = p_qName;
  00066         }
  00067         <font class="keywordflow">else</font>
  00068         {
  00069             m_strLocalPart = p_qName.substr(pos+1);
  00070             m_strNsURI  = p_qName.substr(0, pos);
  00071         }
  00072     }
  00073 
  00074 }
  00075 
  00076 
  00080 
  <a name="l00081"></a><a class="code" href="classax_1_1QName.html#a2">00081</a> QName::QName(<font class="keyword">const</font> std::string&amp; p_strNsPrefix, <font class="keyword">const</font> std::string&amp; p_strLocalPart)<font class="keyword"></font>
  00082 <font class="keyword"></font>{
  00083     m_strNsURI  = p_strNsPrefix;
  00084     m_strLocalPart = p_strLocalPart;
  00085 }
  00086 
  00087     
  00091 
  <a name="l00092"></a><a class="code" href="classax_1_1QName.html#a3">00092</a> QName::QName(<font class="keyword">const</font> QName&amp; p_qName)<font class="keyword"></font>
  00093 <font class="keyword"></font>{
  00094     m_strNsURI  = p_qName.m_strNsURI;
  00095     m_strLocalPart = p_qName.m_strLocalPart;
  00096 }
  00097 
  00098 
  <a name="l00102"></a><a class="code" href="classax_1_1QName.html#a4">00102</a> QName::QName(<font class="keyword">const</font> std::string&amp; p_qName, <font class="keyword">const</font> DOM_Element&amp; p_Elem)<font class="keyword"> </font>
  00103 <font class="keyword"></font>{
  00104     <font class="keywordflow">if</font>(!p_qName.empty())
  00105     {
  00106         std::string::size_type pos = p_qName.find(<font class="charliteral">':'</font>);
  00107 
  00108         <font class="keywordflow">if</font> (pos == std::string::npos) 
  00109         {
  00110             m_strLocalPart = p_qName;
  00111             m_strNsURI     = <font class="stringliteral">""</font>;
  00112         } 
  00113         <font class="keywordflow">else</font> 
  00114         {
  00115             m_strLocalPart = p_qName.substr(pos);
  00116             DOMString str  = p_Elem.getAttributeNS(ax::NS_URI_XMLNS.c_str(), 
  00117                                                     p_qName.substr(0, pos).c_str());
  00118             m_strNsURI  = (<font class="keywordtype">char</font> *) str.rawBuffer();
  00119         }
  00120     }
  00121 }
  00122 
  <a name="l00126"></a><a class="code" href="classax_1_1QName.html#a6">00126</a> <font class="keywordtype">void</font> QName::SetNsURI(<font class="keyword">const</font> std::string&amp; p_strNsURI)<font class="keyword"></font>
  00127 <font class="keyword"></font>{
  00128     m_strNsURI = p_strNsURI;
  00129 }
  00130 
  00131 
  00135 
  <a name="l00136"></a><a class="code" href="classax_1_1QName.html#a7">00136</a> <font class="keywordtype">void</font> QName::SetLocalPart(<font class="keyword">const</font> std::string&amp; p_strLocalPart)<font class="keyword"></font>
  00137 <font class="keyword"></font>{
  00138     m_strLocalPart = p_strLocalPart;
  00139 }
  00140 
  <a name="l00145"></a><a class="code" href="classax_1_1QName.html#a11">00145</a> <font class="keyword">const</font> std::string QName::toString()<font class="keyword"> </font>
  00146 <font class="keyword"></font>{
  00147     <font class="keywordflow">return</font> (m_strNsURI.empty()) ? m_strLocalPart : (m_strNsURI + <font class="stringliteral">":"</font> + m_strLocalPart);
  00148 };
  00149   
  00153 
  <a name="l00154"></a><a class="code" href="classax_1_1QName.html#a10">00154</a> <font class="keywordtype">bool</font>  QName::operator == (<font class="keyword">const</font> QName&amp; p_qName)<font class="keyword"> </font>
  00155 <font class="keyword"></font>{
  00156     std::string tmp = ((p_qName.m_strNsURI.empty()) ? p_qName.m_strLocalPart : (p_qName.m_strNsURI + <font class="stringliteral">":"</font> + p_qName.m_strLocalPart));
  00157     <font class="keywordflow">return</font> (<a class="code" href="classax_1_1QName.html#a11">toString</a>() == tmp);
  00158 }
  00159 
  <a name="l00163"></a><a class="code" href="namespace__ax.html#a43">00163</a> <font class="keywordtype">bool</font> <a class="code" href="namespace__ax.html#a43">operator&lt;</a>(<font class="keyword">const</font> QName&amp; left, <font class="keyword">const</font> QName&amp; right)<font class="keyword"></font>
  00164 <font class="keyword"></font>{
  00165     std::string rstr = ((right.m_strNsURI.empty()) ? right.m_strLocalPart : (right.m_strNsURI + <font class="stringliteral">":"</font> + right.m_strLocalPart));
  00166     std::string lstr = ((left.m_strNsURI.empty()) ? left.m_strLocalPart : (left.m_strNsURI + <font class="stringliteral">":"</font> + left.m_strLocalPart));
  00167     <font class="keywordflow">return</font> (lstr &lt; rstr);
  00168 }
  00169 
  00170 
  00171 };
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8cpp.html
  
  Index: QName_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>QName.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>QName.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  <code>#include &lt;dom/DOM_Element.hpp&gt;</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  
  <p>
  <a href="QName_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
  <tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html">ax</a></td></tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8hpp-source.html
  
  Index: QName_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>QName.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>QName.hpp</h1><a href="QName_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_QNAME_HPP)</font>
  <a name="l00047"></a><a class="code" href="QName_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_QNAME_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;string&gt;</font>
  00050 <font class="preprocessor">#include &lt;list&gt;</font>
  00051 <font class="preprocessor">#include &lt;vector&gt;</font>
  00052 
  00053 
  00054 
  00055 <font class="keyword">class   </font>DOM_Element;
  00056 
  00057 
  00058 
  00059 <font class="keyword">namespace </font>ax <font class="comment">// Put this in the Axis namespace o/w conflicts with other </font>
  00060 {            <font class="comment">// QName definition such as Xerces QName which, is not identical</font>
  00061 
  00081 
  00082      <font class="comment">// we need our own Qualified Name class</font>
  <a name="l00083"></a><a class="code" href="classax_1_1QName.html">00083</a>     <font class="keyword">class </font>QName
  00084     {
  00085         <font class="keyword">public</font>:
  <a name="l00087"></a><a class="code" href="classax_1_1QName.html#a0">00087</a>             <a class="code" href="classax_1_1QName.html#a0">QName</a>() : m_strNsURI(""), m_strLocalPart("") {}
  00088 
  00090             <a class="code" href="classax_1_1QName.html#a0">QName</a>(<font class="keyword">const</font> std::string&amp; p_qName);
  00091 
  00093             <a class="code" href="classax_1_1QName.html#a0">QName</a>(<font class="keyword">const</font> std::string&amp; p_strNsURI, <font class="keyword">const</font> std::string&amp; p_strLocalPart);
  00094 
  00096             <a class="code" href="classax_1_1QName.html#a0">QName</a>(<font class="keyword">const</font> QName&amp; p_qName);
  00097 
  00099             <a class="code" href="classax_1_1QName.html#a0">QName</a>(<font class="keyword">const</font> std::string&amp; p_qName, <font class="keyword">const</font> DOM_Element&amp; p_Elem);
  <a name="l00100"></a><a class="code" href="classax_1_1QName.html#a5">00100</a>             <a class="code" href="classax_1_1QName.html#a5">~QName</a>()<font class="keyword"></font>{};
  00101 
  00103             <font class="keywordtype">void</font> <a class="code" href="classax_1_1QName.html#a6">SetNsURI</a>(<font class="keyword">const</font> std::string&amp; p_strNsURI);
  00104 
  00106             <font class="keywordtype">void</font> <a class="code" href="classax_1_1QName.html#a7">SetLocalPart</a>(<font class="keyword">const</font> std::string&amp; p_strLocalPart);
  00107 
  <a name="l00109"></a><a class="code" href="classax_1_1QName.html#a8">00109</a>             <font class="keyword">const</font> std::string <a class="code" href="classax_1_1QName.html#a8">GetNsURI</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> m_strNsURI;}
  00110 
  <a name="l00112"></a><a class="code" href="classax_1_1QName.html#a9">00112</a>             <font class="keyword">const</font> std::string <a class="code" href="classax_1_1QName.html#a9">GetLocalPart</a>()<font class="keyword"> </font>{<font class="keywordflow">return</font> m_strLocalPart;}
  00113         
  00115             <font class="keywordtype">bool</font> <a class="code" href="classax_1_1QName.html#a10">operator==</a>(<font class="keyword">const</font> QName&amp; p_qName); 
  00116 
  00118             <font class="keyword">friend</font> <font class="keywordtype">bool</font> <a class="code" href="classax_1_1QName.html#l0">operator&lt;</a>(<font class="keyword">const</font> QName&amp; left, <font class="keyword">const</font> QName&amp; right);
  00119 
  00121             <font class="keyword">const</font> std::string QName::toString(); 
  00122 
  00123         <font class="keyword">private</font>:
  <a name="l00124"></a><a class="code" href="classax_1_1QName.html#o0">00124</a>             std::string  m_strNsURI;        
  <a name="l00125"></a><a class="code" href="classax_1_1QName.html#o1">00125</a>             std::string  m_strLocalPart;    
  00126     };
  00127 };
  00128 
  00129 <font class="preprocessor">#endif // _AXIS_QNAME_HPP</font>
  00130 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/QName_8hpp.html
  
  Index: QName_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>QName.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>QName.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  <code>#include &lt;list&gt;</code><br>
  <code>#include &lt;vector&gt;</code><br>
  
  <p>
  <a href="QName_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
  <tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html">ax</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="QName_8hpp.html#a0">_AXIS_QNAME_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="QName.hpp::_AXIS_QNAME_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_QNAME_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00047">47</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8cpp-source.html
  
  Index: RPCElement_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCElement.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement.cpp</h1><a href="RPCElement_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="RPCElement_8hpp.html">RPCElement.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="RPCParam_8hpp.html">RPCParam.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;dom/DOM_Element.hpp&gt;</font>
  00052 <font class="preprocessor">#include &lt;cstdio&gt;</font>
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="classRPCElement.html#a2">00055</a> <a class="code" href="classRPCElement.html#a0">RPCElement::RPCElement</a>(<font class="keyword">const</font> std::string&amp; ns, <font class="keyword">const</font> std::string&amp; methodName,
  00056                        <font class="keyword">const</font> std::vector&lt;Param*&gt;&amp; params)<font class="keyword"></font>
  00057 <font class="keyword"></font>{
  00058     m_NsURI = ns;
  00059     m_Name  = methodName;
  00060     
  00061     <font class="keywordtype">int</font> nSize = params.size();
  00062 
  00063     <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i &lt; nSize; i++) 
  00064     {
  00065         std::string name;
  00066 
  00067         <a class="code" href="classRPCParam.html">RPCParam</a> *param = <font class="keyword">new</font> RPCParam(params[i]-&gt;m_Name, params[i]-&gt;m_pValue, *(params[i]-&gt;m_pType));
  00068 
  00069         m_pParams.push_back(param);
  00070     }
  00071 }
  00072 
  <a name="l00073"></a><a class="code" href="classRPCElement.html#a1">00073</a> <a class="code" href="classRPCElement.html#a0">RPCElement::RPCElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00074 <font class="keyword"></font>{
  00075     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00076     m_Prefix = p_Elm.getPrefix().transcode();
  00077     m_qName = ax::QName(p_Elm.getNamespaceURI().transcode(), 
  00078                         p_Elm.getLocalName().transcode());
  00079 }
  00080 
  00081 
  <a name="l00082"></a><a class="code" href="classRPCElement.html#a3">00082</a> <a class="code" href="classRPCElement.html#a3">RPCElement::~RPCElement</a>()<font class="keyword"></font>
  00083 <font class="keyword"></font>{
  00084     <font class="keywordtype">int</font> size = m_pParams.size();
  00085 
  00086     <font class="keywordflow">for</font>(<font class="keywordtype">int</font> i = 0; i &lt; size;i++)
  00087         <font class="keyword">delete</font> m_pParams[i];
  00088 
  00089     m_pParams.clear();
  00090 }
  00091 
  <a name="l00092"></a><a class="code" href="classRPCElement.html#a4">00092</a> <font class="keywordtype">void</font> <a class="code" href="classRPCElement.html#a4">RPCElement::AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00093 <font class="keyword"></font>{
  00094     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00095 
  00096     std::string tagName = p_Elm.getTagName().transcode();
  00097     
  00098     <font class="keywordflow">if</font>(m_pElmNode.hasChildNodes())
  00099     {
  00100         DOM_Node child=m_pElmNode.getFirstChild();
  00101 
  00102         <font class="keywordflow">if</font>(child.getNodeType() == DOM_Node::TEXT_NODE 
  00103             || child.getNodeType() == DOM_Node::CDATA_SECTION_NODE)
  00104         {
  00105             <font class="comment">// All types are bound to name space URI_CURRENT_SCHEMA_XSI</font>
  00106             std::string schemaType = m_pElmNode.getAttributeNS(ax::URI_CURRENT_SCHEMA_XSI.c_str(), <font class="stringliteral">"type"</font>).transcode();
  00107             m_Result = child.getNodeValue().transcode();
  00108 
  00109             <a class="code" href="classRPCParam.html">RPCParam</a> *result = <font class="keyword">new</font> RPCParam(<font class="stringliteral">"result"</font>, m_Result, schemaType);
  00110             m_pParams.push_back(result);
  00111         }
  00112     }
  00113     <font class="keywordflow">else</font>
  00114         <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Return data not found\n\n"</font>, 1);
  00115 }
  00116 
  <a name="l00117"></a><a class="code" href="classRPCElement.html#a7">00117</a> <font class="keywordtype">void</font> * <a class="code" href="classRPCElement.html#a7">RPCElement::GetReturnValue</a>()<font class="keyword"></font>
  00118 <font class="keyword"></font>{
  00119     <a class="code" href="classRPCParam.html">RPCParam</a> *pRpc = (m_pParams.size()) ? m_pParams[0] : NULL;
  00120 
  00121     <font class="keywordflow">if</font>(pRpc) 
  00122         <font class="keywordflow">return</font> pRpc-&gt;<a class="code" href="classRPCParam.html#a6">GetValue</a>();
  00123     
  00124     <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Unexpected result from the callee....\n\n"</font>, 1);
  00125 }
  00126 
  <a name="l00127"></a><a class="code" href="classRPCElement.html#a5">00127</a> <font class="keywordtype">void</font> <a class="code" href="classRPCElement.html#a5">RPCElement::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00128 <font class="keyword"></font>{
  00129     <a class="code" href="classax_1_1QName.html">ax::QName</a> qName(m_NsURI, m_Name);
  00130     serilizer.<a class="code" href="classXMLSerializer.html#a8">StartElem</a>(qName, m_AttLst);
  00131 
  00132     <font class="keywordflow">for</font> (paramItr = m_pParams.begin(); paramItr != m_pParams.end(); ++paramItr) 
  00133     {
  00134         (*paramItr)-&gt;<a class="code" href="classRPCParam.html#a7">Serialize</a>(serilizer);
  00135     }
  00136     serilizer.<a class="code" href="classXMLSerializer.html#a9">EndElem</a>();
  00137 }
  00138 
  <a name="l00139"></a><a class="code" href="classRPCElement.html#a6">00139</a> <font class="keywordtype">void</font> <a class="code" href="classRPCElement.html#a6">RPCElement::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00140 <font class="keyword"></font>{
  00141     dserilizer.<a class="code" href="classXMLDeSerializer.html#a4">RegisterPrefixForURI</a>(m_Prefix, m_qName.GetNsURI());
  00142 
  00143     dserilizer.<a class="code" href="classXMLDeSerializer.html#a2">DeSerialize</a>(*<font class="keyword">this</font>);
  00144     <font class="keywordflow">for</font> (paramItr = m_pParams.begin(); paramItr != m_pParams.end(); ++paramItr) 
  00145     {
  00146         (*paramItr)-&gt;<a class="code" href="classRPCParam.html#a8">DeSerialize</a>(dserilizer);
  00147     }
  00148     
  00149 }
  00150 
  00151 
  00152 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8cpp.html
  
  Index: RPCElement_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCElement.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  <code>#include &lt;dom/DOM_Element.hpp&gt;</code><br>
  <code>#include &lt;cstdio&gt;</code><br>
  
  <p>
  <a href="RPCElement_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8hpp-source.html
  
  Index: RPCElement_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCElement.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement.hpp</h1><a href="RPCElement_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_RPCELEMENT_HPP)</font>
  <a name="l00046"></a><a class="code" href="RPCElement_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_RPCELEMENT_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;string&gt;</font>
  00049 <font class="preprocessor">#include &lt;vector&gt;</font>
  00050 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00052 <font class="preprocessor">#include "<a class="code" href="Param_8hpp.html">Param.hpp</a>"</font>
  00053 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00054 
  00055 <font class="keyword">class </font><a class="code" href="classRPCParam.html">RPCParam</a>;
  00056 
  <a name="l00057"></a><a class="code" href="classRPCElement.html">00057</a> <font class="keyword">class </font><a class="code" href="classRPCElement.html">RPCElement</a> : <font class="keyword">public</font> <a class="code" href="classMessageElement.html">MessageElement</a>
  00058 {
  00059     <font class="keyword">public</font>:
  <a name="l00060"></a><a class="code" href="classRPCElement.html#a0">00060</a>         <a class="code" href="classRPCElement.html#a0">RPCElement</a>()<font class="keyword"></font>{m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);}
  00061         <a class="code" href="classRPCElement.html#a0">RPCElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00062         <a class="code" href="classRPCElement.html#a0">RPCElement</a>(<font class="keyword">const</font> std::string&amp; ns, <font class="keyword">const</font> std::string&amp; methodName,
  00063                        <font class="keyword">const</font> std::vector&lt;Param*&gt;&amp; params);
  00064         <a class="code" href="classRPCElement.html#a3">~RPCElement</a>();
  00065         <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a8">AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00066         <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00067         <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00068 
  00069         <font class="keywordtype">void</font> * <a class="code" href="classRPCElement.html#a7">GetReturnValue</a>();
  00070 
  00071 
  00072     <font class="keyword">private</font>:
  <a name="l00073"></a><a class="code" href="classRPCElement.html#o0">00073</a>         std::vector&lt;RPCParam*&gt; m_pParams;
  <a name="l00074"></a><a class="code" href="classRPCElement.html#o1">00074</a>         std::vector&lt;RPCParam*&gt;::iterator paramItr;
  <a name="l00075"></a><a class="code" href="classRPCElement.html#o2">00075</a>         std::string m_Result;
  <a name="l00076"></a><a class="code" href="classRPCElement.html#o3">00076</a>         std::string m_Prefix;
  00077 };
  00078 
  00079 
  00080 <font class="preprocessor">#endif //_AXIS_RPCELEMENT_HPP</font>
  00081 <font class="preprocessor"></font>
  00082 
  00083 
  00084 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCElement_8hpp.html
  
  Index: RPCElement_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCElement.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  <code>#include &lt;vector&gt;</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Param_8hpp-source.html">Param.hpp</a>"</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  
  <p>
  <a href="RPCElement_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html">RPCElement</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="RPCElement_8hpp.html#a0">_AXIS_RPCELEMENT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="RPCElement.hpp::_AXIS_RPCELEMENT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_RPCELEMENT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00046">46</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8cpp-source.html
  
  Index: RPCParam_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCParam.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam.cpp</h1><a href="RPCParam_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="RPCParam_8hpp.html">RPCParam.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="SerializerFactory_8hpp.html">SerializerFactory.hpp</a>"</font>
  00052 <font class="preprocessor">#include &lt;cstdlib&gt;</font>
  00053 <font class="preprocessor">#include &lt;cstdio&gt;</font>
  00054 
  <a name="l00055"></a><a class="code" href="classRPCParam.html#a1">00055</a> <a class="code" href="classRPCParam.html#a0">RPCParam::RPCParam</a>(<font class="keyword">const</font> std::string&amp; ns, <font class="keyword">const</font> std::string&amp; name, 
  00056                    <font class="keywordtype">void</font>* val, <font class="keyword">const</font> <a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_Type)<font class="keyword"></font>
  00057 <font class="keyword"></font>{
  00058     m_NsURI  = ns;
  00059     m_Name   = name;
  00060     m_pValue = val;
  00061     m_Type   = p_Type; 
  00062 }
  00063 
  <a name="l00064"></a><a class="code" href="classRPCParam.html#a2">00064</a> <a class="code" href="classRPCParam.html#a0">RPCParam::RPCParam</a>(<font class="keyword">const</font> std::string&amp; name, <font class="keywordtype">void</font>* val, <font class="keyword">const</font> <a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_Type)<font class="keyword"></font>
  00065 <font class="keyword"></font>{
  00066     m_Name   = name;
  00067     m_pValue = val;
  00068     m_Type   = p_Type; 
  00069 }
  00070 
  <a name="l00071"></a><a class="code" href="classRPCParam.html#a3">00071</a> <a class="code" href="classRPCParam.html#a0">RPCParam::RPCParam</a>(<font class="keyword">const</font> std::string&amp; name, std::string&amp; strValue, std::string&amp; strType)<font class="keyword"></font>
  00072 <font class="keyword"></font>{
  00073     m_Name    = name;
  00074     m_Value   = strValue;
  00075     m_strType = strType;
  00076 }
  00077 
  <a name="l00078"></a><a class="code" href="classRPCParam.html#a4">00078</a> <a class="code" href="classRPCParam.html#a4">RPCParam::~RPCParam</a>()<font class="keyword"></font>
  00079 <font class="keyword"></font>{
  00080 
  00081 }
  00082 
  00083 
  <a name="l00084"></a><a class="code" href="classRPCParam.html#a7">00084</a> <font class="keywordtype">void</font> <a class="code" href="classRPCParam.html#a7">RPCParam::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00085 <font class="keyword"></font>{
  00086     <a class="code" href="classAttList.html">AttList</a> attribs;
  00087 
  00088     std::string serVal = serilizer.<a class="code" href="classXMLSerializer.html#a7">GetTypeMapper</a>()-&gt;<a class="code" href="classTypeMappingRegistry.html#a3">GetSerializerFactory</a>(m_Type)-&gt;Serialize(m_pValue);
  00089 
  00090     std::string prefix = serilizer.<a class="code" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(m_Type.<a class="code" href="classax_1_1QName.html#a8">GetNsURI</a>());
  00091     prefix += <font class="stringliteral">":"</font> + m_Type.<a class="code" href="classax_1_1QName.html#a9">GetLocalPart</a>();
  00092     <a class="code" href="classax_1_1QName.html">ax::QName</a> qName(<font class="stringliteral">""</font>, ax::XML_SCHEMA_INSTANCE_TYPE);
  00093     attribs.<a class="code" href="classAttList.html#a1">Add</a>(qName, prefix);
  00094     qName = ax::QName(m_NsURI, m_Name);
  00095 
  00096     serilizer.<a class="code" href="classXMLSerializer.html#a12">Serialize</a>(qName, attribs, serVal.c_str());
  00097 }
  00098 
  <a name="l00099"></a><a class="code" href="classRPCParam.html#a8">00099</a> <font class="keywordtype">void</font> <a class="code" href="classRPCParam.html#a8">RPCParam::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00100 <font class="keyword"></font>{
  00101     m_Type   = dserilizer.<a class="code" href="classXMLDeSerializer.html#a6">GetQNameFromStr</a>(m_strType);<font class="comment">// get as a QName</font>
  00102     m_pValue = dserilizer.<a class="code" href="classXMLDeSerializer.html#a8">GetTypeMapper</a>()-&gt;<a class="code" href="classTypeMappingRegistry.html#a3">GetSerializerFactory</a>(m_Type)-&gt;Deserialize(m_Value);
  00103 }
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8cpp.html
  
  Index: RPCParam_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCParam.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>"</code><br>
  <code>#include &lt;cstdlib&gt;</code><br>
  <code>#include &lt;cstdio&gt;</code><br>
  
  <p>
  <a href="RPCParam_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8hpp-source.html
  
  Index: RPCParam_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCParam.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam.hpp</h1><a href="RPCParam_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_RPCPARAM_HPP)</font>
  <a name="l00046"></a><a class="code" href="RPCParam_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_RPCPARAM_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include &lt;string&gt;</font>
  00049 <font class="preprocessor">#include "<a class="code" href="RPCElement_8hpp.html">RPCElement.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="Param_8hpp.html">Param.hpp</a>"</font>
  00052 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="classRPCParam.html">00055</a> <font class="keyword">class </font><a class="code" href="classRPCParam.html">RPCParam</a>  
  00056 {
  00057     <font class="keyword">public</font>:
  <a name="l00058"></a><a class="code" href="classRPCParam.html#a0">00058</a>         <a class="code" href="classRPCParam.html#a0">RPCParam</a>()<font class="keyword"></font>{}
  00059         <a class="code" href="classRPCParam.html#a0">RPCParam</a>(<font class="keyword">const</font> std::string&amp; ns, <font class="keyword">const</font> std::string&amp; name, <font class="keywordtype">void</font>* val, <font class="keyword">const</font> <a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_Type);
  00060         <a class="code" href="classRPCParam.html#a0">RPCParam</a>(<font class="keyword">const</font> std::string&amp; name, <font class="keywordtype">void</font>* val, <font class="keyword">const</font> <a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_Type);
  00061         <a class="code" href="classRPCParam.html#a0">RPCParam</a>(<font class="keyword">const</font> std::string&amp; name, std::string&amp; strValue, std::string&amp; strType);
  00062         <a class="code" href="classRPCParam.html#a4">~RPCParam</a>();
  00063 
  <a name="l00064"></a><a class="code" href="classRPCParam.html#a5">00064</a>         <font class="keyword">const</font> std::string <a class="code" href="classRPCParam.html#a5">GetName</a>()<font class="keyword"> </font>{<font class="keywordflow">return</font> m_Name;}
  <a name="l00065"></a><a class="code" href="classRPCParam.html#a6">00065</a>         <font class="keywordtype">void</font> * <a class="code" href="classRPCParam.html#a6">GetValue</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_pValue;}
  00066 
  00067         <font class="keywordtype">void</font>  <a class="code" href="classRPCParam.html#a7">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00068         <font class="keywordtype">void</font>  <a class="code" href="classRPCParam.html#a8">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00069     
  00070     <font class="keyword">private</font>:
  <a name="l00071"></a><a class="code" href="classRPCParam.html#o0">00071</a>         std::string m_NsURI;
  <a name="l00072"></a><a class="code" href="classRPCParam.html#o1">00072</a>         std::string m_Name;
  <a name="l00073"></a><a class="code" href="classRPCParam.html#o2">00073</a>         std::string m_Value;
  <a name="l00074"></a><a class="code" href="classRPCParam.html#o3">00074</a>         std::string m_strType;
  00075 
  <a name="l00076"></a><a class="code" href="classRPCParam.html#o4">00076</a>         <font class="keywordtype">void</font>       *m_pValue;
  <a name="l00077"></a><a class="code" href="classRPCParam.html#o5">00077</a>         <a class="code" href="classax_1_1QName.html">ax::QName</a>   m_Type;
  00078 
  <a name="l00079"></a><a class="code" href="classRPCParam.html#o6">00079</a>         <font class="keywordtype">char</font> tmp[100];
  00080 
  00081         <font class="comment">//RPCElement m_rpcMyCall;</font>
  00082 };
  00083 
  00084 <font class="preprocessor">#endif // _AXIS_RPCPARAM_HPP</font>
  00085 <font class="preprocessor"></font>
  00086 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/RPCParam_8hpp.html
  
  Index: RPCParam_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCParam.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  <code>#include "<a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Param_8hpp-source.html">Param.hpp</a>"</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  
  <p>
  <a href="RPCParam_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html">RPCParam</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="RPCParam_8hpp.html#a0">_AXIS_RPCPARAM_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="RPCParam.hpp::_AXIS_RPCPARAM_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_RPCPARAM_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00046">46</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8cpp-source.html
  
  Index: Receiver_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Receiver.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver.cpp</h1><a href="Receiver_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="Receiver_8hpp.html">Receiver.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00049 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00050 
  00051 
  <a name="l00052"></a><a class="code" href="classReceiver.html#a1">00052</a> <a class="code" href="classReceiver.html#a1">Receiver::~Receiver</a>()<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054 
  00055 }
  00056 
  <a name="l00057"></a><a class="code" href="classReceiver.html#a2">00057</a> <font class="keyword">const</font> std::string&amp; <a class="code" href="classReceiver.html#a2">Receiver::Recv</a>() <font class="keywordflow">throw</font> (<a class="code" href="classAxisException.html">AxisException</a>)
  00058 {
  00059     <font class="keywordflow">try</font>
  00060     {
  00061         *m_pTrChannel &gt;&gt; repMsg;
  00062     }
  00063     <font class="keywordflow">catch</font>(<a class="code" href="classAxisFault.html">AxisFault</a>&amp; ex)
  00064     {
  00065         <font class="comment">// Get the fault message.</font>
  00066         *m_pTrChannel &gt;&gt; repMsg;
  00067 <font class="preprocessor">        #ifdef _DEBUG</font>
  00068 <font class="preprocessor"></font>            std::cerr &lt;&lt; ex.GetErrorMsg() &lt;&lt; std::endl;
  00069 <font class="preprocessor">        #endif</font>
  00070 <font class="preprocessor"></font>    }
  00071     <font class="keywordflow">catch</font>(...)
  00072     {
  00073         <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Exception on receiving the message"</font>, 1);
  00074     }
  00075 
  00076     <font class="keywordflow">return</font> repMsg;
  00077 }
  00078 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8cpp.html
  
  Index: Receiver_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Receiver.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  
  <p>
  <a href="Receiver_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8hpp-source.html
  
  Index: Receiver_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Receiver.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver.hpp</h1><a href="Receiver_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_RECEIVER_HPP)</font>
  <a name="l00047"></a><a class="code" href="Receiver_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_RECEIVER_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="SOAPMessage_8hpp.html">SOAPMessage.hpp</a>"</font>  
  00050 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00051 
  00052 <font class="keyword">class </font><a class="code" href="classTransport.html">Transport</a>;
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="classReceiver.html">00055</a> <font class="keyword">class </font><a class="code" href="classReceiver.html">Receiver</a>  
  00056 {
  00057 <font class="keyword">public</font>:
  <a name="l00058"></a><a class="code" href="classReceiver.html#a0">00058</a>     <a class="code" href="classReceiver.html#a0">Receiver</a>(<a class="code" href="classTransport.html">Transport</a> *pTr) : repMsg(""), m_pTrChannel(pTr){}
  00059     <a class="code" href="classReceiver.html#a1">~Receiver</a>();
  00060 
  00061     <font class="keyword">const</font> std::string&amp; <a class="code" href="classReceiver.html#a2">Recv</a>() <font class="keywordflow">throw</font> (<a class="code" href="classAxisException.html">AxisException</a>);
  00062 
  00063 <font class="keyword">private</font>:
  <a name="l00064"></a><a class="code" href="classReceiver.html#o0">00064</a>     std::string repMsg;
  00065 
  <a name="l00066"></a><a class="code" href="classReceiver.html#o1">00066</a>     <a class="code" href="classTransport.html">Transport</a> *m_pTrChannel;
  00067 
  <a name="l00068"></a><a class="code" href="classReceiver.html#o2">00068</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> m_RecvPort;
  00069 };
  00070 
  00071 <font class="preprocessor">#endif // _AXIS_RECEIVER_HPP</font>
  00072 <font class="preprocessor"></font>
  00073 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Receiver_8hpp.html
  
  Index: Receiver_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Receiver.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver.hpp File Reference</h1><code>#include "<a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="Receiver_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html">Receiver</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Receiver_8hpp.html#a0">_AXIS_RECEIVER_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Receiver.hpp::_AXIS_RECEIVER_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_RECEIVER_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Receiver_8hpp-source.html#l00047">47</a> of file <a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8cpp-source.html
  
  Index: SOAPBodyElement_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPBodyElement.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement.cpp</h1><a href="SOAPBodyElement_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="SOAPBodyElement_8hpp.html">SOAPBodyElement.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00050 
  00051 
  <a name="l00052"></a><a class="code" href="classSOAPBodyElement.html#a0">00052</a> <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement::SOAPBodyElement</a>()<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054     m_qName  = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  00055     m_pBody  = NULL;
  00056     m_pFault = NULL;
  00057 }
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPBodyElement.html#a2">00059</a> <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement::SOAPBodyElement</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *p_pBody)<font class="keyword"></font>
  00060 <font class="keyword"></font>{
  00061     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  00062     m_pBody = (<a class="code" href="classRPCElement.html">RPCElement</a> *) p_pBody;
  00063     m_pFault = NULL;
  00064 }
  00065 
  <a name="l00066"></a><a class="code" href="classSOAPBodyElement.html#a1">00066</a> <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement::SOAPBodyElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00067 <font class="keyword"></font>{
  00068     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00069     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  00070     m_pBody  = NULL;
  00071     m_pFault = NULL;
  00072 }
  00073 
  <a name="l00074"></a><a class="code" href="classSOAPBodyElement.html#a3">00074</a> <a class="code" href="classSOAPBodyElement.html#a3">SOAPBodyElement::~SOAPBodyElement</a>()<font class="keyword"></font>
  00075 <font class="keyword"></font>{
  00076     <font class="keyword">delete</font> m_pBody;
  00077 }
  00078 
  <a name="l00079"></a><a class="code" href="classSOAPBodyElement.html#a4">00079</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPBodyElement.html#a4">SOAPBodyElement::AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00080 <font class="keyword"></font>{
  00081     std::string tagName = p_Elm.getTagName().transcode();
  00082 
  00083     <font class="keywordflow">if</font>(tagName.find(ax::ELEM_FAULT) != std::string::npos) <font class="comment">// Check whether a fault has occurred or not</font>
  00084         m_pFault = <font class="keyword">new</font> SOAPFaultElement(p_Elm);
  00085     <font class="keywordflow">else</font>
  00086         m_pBody = <font class="keyword">new</font> RPCElement(p_Elm);
  00087 }
  00088 
  <a name="l00089"></a><a class="code" href="classSOAPBodyElement.html#a6">00089</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPBodyElement.html#a6">SOAPBodyElement::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00090 <font class="keyword"></font>{
  00091     <a class="code" href="classAttList.html">AttList</a> attList;
  00092     <font class="comment">// Output &lt;SOAP-ENV:Body&gt;</font>
  00093     serilizer.<a class="code" href="classXMLSerializer.html#a8">StartElem</a>(m_qName, attList);
  00094 
  00095     m_pBody-&gt;<a class="code" href="classRPCElement.html#a5">Serialize</a>(serilizer);
  00096  
  00097     <font class="comment">// Output &lt;/SOAP-ENV:Body&gt;</font>
  00098     serilizer.<a class="code" href="classXMLSerializer.html#a9">EndElem</a>();
  00099 }
  00100 
  <a name="l00101"></a><a class="code" href="classSOAPBodyElement.html#a7">00101</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPBodyElement.html#a7">SOAPBodyElement::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00102 <font class="keyword"></font>{
  00103     dserilizer.<a class="code" href="classXMLDeSerializer.html#a2">DeSerialize</a>(*<font class="keyword">this</font>);
  00104     <font class="keywordflow">if</font>(m_pBody)
  00105         m_pBody-&gt;<a class="code" href="classRPCElement.html#a6">DeSerialize</a>(dserilizer);
  00106     <font class="keywordflow">else</font> <font class="keywordflow">if</font>(m_pFault)
  00107         m_pFault-&gt;<a class="code" href="classSOAPFaultElement.html#a5">DeSerialize</a>(dserilizer);
  00108 }
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8cpp.html
  
  Index: SOAPBodyElement_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPBodyElement.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPBodyElement_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8hpp-source.html
  
  Index: SOAPBodyElement_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPBodyElement.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement.hpp</h1><a href="SOAPBodyElement_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_SOAPBODYELEMENT_HPP)</font>
  <a name="l00047"></a><a class="code" href="SOAPBodyElement_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPBODYELEMENT_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="RPCElement_8hpp.html">RPCElement.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="SOAPFaultElement_8hpp.html">SOAPFaultElement.hpp</a>"</font>
  00052 
  00053 <font class="keyword">class </font><a class="code" href="classXMLSerializer.html">XMLSerializer</a>;
  00054 <font class="keyword">class </font><a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>;
  00055 
  00056 
  <a name="l00057"></a><a class="code" href="classSOAPBodyElement.html">00057</a> <font class="keyword">class </font><a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a> : <font class="keyword">public</font> <a class="code" href="classMessageElement.html">MessageElement</a>
  00058 {
  00059 <font class="keyword">public</font>:
  00060     <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement</a>();
  00061     <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00062     <a class="code" href="classSOAPBodyElement.html#a0">SOAPBodyElement</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *p_pBody);
  00063     <a class="code" href="classSOAPBodyElement.html#a3">~SOAPBodyElement</a>();
  00064     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a8">AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  <a name="l00065"></a><a class="code" href="classSOAPBodyElement.html#a5">00065</a>     <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPBodyElement.html#a5">GetBody</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_pBody;}
  00066     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00067     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00068 
  00069 <font class="keyword">private</font>:
  <a name="l00070"></a><a class="code" href="classSOAPBodyElement.html#o0">00070</a>     <a class="code" href="classRPCElement.html">RPCElement</a>          *m_pBody;
  <a name="l00071"></a><a class="code" href="classSOAPBodyElement.html#o1">00071</a>     <a class="code" href="classSOAPFaultElement.html">SOAPFaultElement</a>    *m_pFault;
  00072 };
  00073 
  00074 <font class="preprocessor">#endif // _AXIS_SOAPBODYELEMENT_HPP</font>
  00075 <font class="preprocessor"></font>
  00076 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPBodyElement_8hpp.html
  
  Index: SOAPBodyElement_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPBodyElement.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement.hpp File Reference</h1><code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPBodyElement_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPBodyElement_8hpp.html#a0">_AXIS_SOAPBODYELEMENT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPBodyElement.hpp::_AXIS_SOAPBODYELEMENT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPBODYELEMENT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8hpp-source.html#l00047">47</a> of file <a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8cpp-source.html
  
  Index: SOAPEncoding_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEncoding.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding.cpp</h1><a href="SOAPEncoding_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="SOAPEncoding_8hpp.html">SOAPEncoding.hpp</a>"</font>
  00047 <font class="preprocessor">#include &lt;cstdio&gt;</font>
  00048 
  00049 
  00051 template&lt;&gt;
  <a name="l00052"></a><a class="code" href="classSOAPEncoding.html#a2">00052</a> <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;int&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054     sprintf(buf, <font class="stringliteral">"%d"</font>, *(<font class="keywordtype">int</font>*)val);
  00055     <font class="keywordflow">return</font> std::string(buf);
  00056 }
  00057 
  00059 template&lt;&gt;
  00060 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;long&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00061 <font class="keyword"></font>{
  00062     sprintf(buf, <font class="stringliteral">"%ld"</font>, *(<font class="keywordtype">long</font>*)val);
  00063     <font class="keywordflow">return</font> std::string(buf);
  00064 }
  00065 
  00067 template&lt;&gt;
  00068 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;short&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00069 <font class="keyword"></font>{
  00070     sprintf(buf, <font class="stringliteral">"%d"</font>, *(<font class="keywordtype">short</font>*)val);
  00071     <font class="keywordflow">return</font> std::string(buf);
  00072 }
  00073 
  00075 template&lt;&gt;
  00076 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;float&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00077 <font class="keyword"></font>{
  00078     sprintf(buf, <font class="stringliteral">"%fd"</font>, *(<font class="keywordtype">int</font>*)val); <font class="comment">// automatically handles NaN, +/- infinity</font>
  00079     <font class="keywordflow">return</font> std::string(buf);
  00080 }
  00081 
  00083 template&lt;&gt;
  00084 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;double&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00085 <font class="keyword"></font>{
  00086     sprintf(buf, <font class="stringliteral">"%ed"</font>, *(<font class="keywordtype">int</font>*)val); <font class="comment">// automatically handles NaN, +/- infinity</font>
  00087     <font class="keywordflow">return</font> std::string(buf);
  00088 }
  00089 
  00091 template&lt;&gt;
  <a name="l00092"></a><a class="code" href="SOAPEncoding_8cpp.html#a0">00092</a> <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;std::string&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00093 <font class="keyword"></font>{
  00094     <font class="keywordflow">return</font> *(std::string *)val;
  00095 }
  00096 
  00098 template&lt;&gt;
  00099 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;bool&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00100 <font class="keyword"></font>{
  00101     <font class="keywordflow">return</font> (*(<font class="keywordtype">bool</font>*)val)? std::string(<font class="stringliteral">"true"</font>) : std::string("false");
  00102 }
  00103 
  00105 template&lt;&gt;
  00106 <font class="keyword">const</font> std::string <a class="code" href="classSOAPEncoding.html#a2">SOAPEncoding&lt;char&gt;::Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)<font class="keyword"></font>
  00107 <font class="keyword"></font>{
  00108     sprintf(buf, <font class="stringliteral">"%c"</font>, *(<font class="keywordtype">char</font>*)val);
  00109     <font class="keywordflow">return</font> std::string(buf); 
  00110 }
  00111 
  00112 
  00114 template&lt;&gt;
  <a name="l00115"></a><a class="code" href="classSOAPEncoding.html#a3">00115</a> <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;int&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00116 <font class="keyword"></font>{
  00117     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> int(atoi(val.c_str()));
  00118 }
  00119 
  00121 template&lt;&gt;
  00122 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;long&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00123 <font class="keyword"></font>{
  00124     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> long(atol(val.c_str()));
  00125 }
  00126 
  00128 template&lt;&gt;
  00129 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;short&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00130 <font class="keyword"></font>{
  00131     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> short(atoi(val.c_str()));
  00132 }
  00133 
  00135 template&lt;&gt;
  00136 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;float&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00137 <font class="keyword"></font>{
  00138     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> float(atof(val.c_str())); <font class="comment">// required to handles NaN, +/- infinity</font>
  00139 }
  00140 
  00142 template&lt;&gt;
  00143 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;double&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00144 <font class="keyword"></font>{
  00145     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> double(atof(val.c_str())); <font class="comment">// required to handles NaN, +/- infinity</font>
  00146 }
  00147 
  00149 template&lt;&gt;
  <a name="l00150"></a><a class="code" href="SOAPEncoding_8cpp.html#a1">00150</a> <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;std::string&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00151 <font class="keyword"></font>{
  00152     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> std::string(val);
  00153 }
  00154 
  00156 template&lt;&gt;
  00157 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;bool&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00158 <font class="keyword"></font>{
  00159     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> bool((val == <font class="stringliteral">"true"</font>)?<font class="keyword">true</font>:<font class="keyword">false</font>); <font class="comment">// need to handle no true/false value</font>
  00160 }
  00161 
  00163 template&lt;&gt;
  00164 <font class="keywordtype">void</font>* <a class="code" href="classSOAPEncoding.html#a3">SOAPEncoding&lt;char&gt;::Deserialize</a>(std::string&amp; val)<font class="keyword"></font>
  00165 <font class="keyword"></font>{
  00166     <font class="keywordflow">return</font> (<font class="keywordtype">void</font>*) <font class="keyword">new</font> char(val[0]);
  00167 }
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8cpp.html
  
  Index: SOAPEncoding_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEncoding.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>"</code><br>
  <code>#include &lt;cstdio&gt;</code><br>
  
  <p>
  <a href="SOAPEncoding_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Functions</h2></td></tr>
  <tr><td nowrap align=right valign=top>template&lt;&gt; const std::string&nbsp;</td><td valign=bottom><a class="el" href="SOAPEncoding_8cpp.html#a0">SOAPEncoding&lt; std::string &gt;::Serialize</a> (const void *val)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialization strategies for STL strings type.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>template&lt;&gt; void*&nbsp;</td><td valign=bottom><a class="el" href="SOAPEncoding_8cpp.html#a1">SOAPEncoding&lt; std::string &gt;::Deserialize</a> (std::string &amp;val)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialization strategies for STL strings types.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><h2>Function Documentation</h2>
  <a name="a1" doxytag="SOAPEncoding.cpp::SOAPEncoding< std::string >::Deserialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  void* <a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>&lt; std::string &gt;::Deserialize (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>val</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialization strategies for STL strings types.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8cpp-source.html#l00150">150</a> of file <a class="el" href="SOAPEncoding_8cpp-source.html">SOAPEncoding.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a0" doxytag="SOAPEncoding.cpp::SOAPEncoding< std::string >::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  const std::string <a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>&lt; std::string &gt;::Serialize (
            </b></td>
            <td valign="bottom"><b>
  const void * <em>val</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialization strategies for STL strings type.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8cpp-source.html#l00092">92</a> of file <a class="el" href="SOAPEncoding_8cpp-source.html">SOAPEncoding.cpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8hpp-source.html
  
  Index: SOAPEncoding_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEncoding.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding.hpp</h1><a href="SOAPEncoding_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_SOAPENCODING_HPP)</font>
  <a name="l00047"></a><a class="code" href="SOAPEncoding_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPENCODING_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 
  00050 <font class="preprocessor">#include "<a class="code" href="SerializerFactory_8hpp.html">SerializerFactory.hpp</a>"</font>
  00051 
  00062 
  00063 
  00064 template&lt;typename T&gt;
  <a name="l00065"></a><a class="code" href="classSOAPEncoding.html">00065</a> <font class="keyword">class </font><a class="code" href="classSOAPEncoding.html">SOAPEncoding</a>  : <font class="keyword">public</font> <a class="code" href="classSerializerFactory.html">SerializerFactory</a>
  00066 {
  00067 <font class="keyword">public</font>:
  <a name="l00068"></a><a class="code" href="classSOAPEncoding.html#a0">00068</a>     <a class="code" href="classSOAPEncoding.html#a0">SOAPEncoding</a>()<font class="keyword"></font>{};
  <a name="l00069"></a><a class="code" href="classSOAPEncoding.html#a1">00069</a>     <a class="code" href="classSOAPEncoding.html#a1">~SOAPEncoding</a>()<font class="keyword"></font>{};
  00070 
  00078     <font class="keyword">const</font> std::string <a class="code" href="classSerializerFactory.html#a2">Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val);
  00079 
  00087     <font class="keywordtype">void</font>* <a class="code" href="classSerializerFactory.html#a3">Deserialize</a>(std::string&amp; val);
  00088 
  00089 <font class="keyword">private</font>:
  <a name="l00090"></a><a class="code" href="classSOAPEncoding.html#o0">00090</a>     <font class="keywordtype">char</font> buf[100]; 
  00091 
  00092 };
  00093 
  00094 <font class="preprocessor">#endif // _AXIS_SOAPENCODING_HPP</font>
  00095 <font class="preprocessor"></font>
  00096 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEncoding_8hpp.html
  
  Index: SOAPEncoding_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEncoding.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding.hpp File Reference</h1><code>#include "<a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPEncoding_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html">SOAPEncoding</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>preimplementation of the <a class="el" href="classSerializerFactory.html">SerializerFactory</a> interface for predefined types.</em> <a href="classSOAPEncoding.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPEncoding_8hpp.html#a0">_AXIS_SOAPENCODING_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPEncoding.hpp::_AXIS_SOAPENCODING_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPENCODING_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8hpp-source.html#l00047">47</a> of file <a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8cpp-source.html
  
  Index: SOAPEnvelope_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelope.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope.cpp</h1><a href="SOAPEnvelope_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="SOAPEnvelope_8hpp.html">SOAPEnvelope.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00050 
  00051 
  <a name="l00052"></a><a class="code" href="classSOAPEnvelope.html#a0">00052</a> <a class="code" href="classSOAPEnvelope.html#a0">SOAPEnvelope::SOAPEnvelope</a>()<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_ENVELOPE);
  00055     m_SOAPBodyItr = m_SOAPBody.begin();
  00056     m_SOAPHdItr   = m_SOAPHeader.begin();    
  00057 }
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPEnvelope.html#a1">00059</a> <a class="code" href="classSOAPEnvelope.html#a0">SOAPEnvelope::SOAPEnvelope</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00060 <font class="keyword"></font>{
  00061     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00062     m_qName       = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_ENVELOPE);
  00063     m_SOAPBodyItr = m_SOAPBody.begin();
  00064     m_SOAPHdItr   = m_SOAPHeader.begin();    
  00065 }
  00066 
  <a name="l00067"></a><a class="code" href="classSOAPEnvelope.html#a2">00067</a> <a class="code" href="classSOAPEnvelope.html#a2">SOAPEnvelope::~SOAPEnvelope</a>()<font class="keyword"></font>
  00068 <font class="keyword"></font>{
  00069     <font class="comment">// clean up</font>
  00070     <font class="keywordflow">for</font>(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  00071         <font class="keyword">delete</font> (*m_SOAPHdItr);
  00072 
  00073     m_SOAPHeader.clear();
  00074 
  00075     <font class="keywordflow">for</font>(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  00076         <font class="keyword">delete</font> (*m_SOAPBodyItr);
  00077 
  00078     m_SOAPBody.clear();
  00079 }
  00080 
  <a name="l00081"></a><a class="code" href="classSOAPEnvelope.html#a3">00081</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a3">SOAPEnvelope::AddSOAPBodyElement</a>(<a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a> *p_pBody)<font class="keyword"></font>
  00082 <font class="keyword"></font>{
  00083     m_SOAPBody.push_back(p_pBody);
  00084 }
  00085 
  <a name="l00086"></a><a class="code" href="classSOAPEnvelope.html#a8">00086</a> <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPEnvelope.html#a8">SOAPEnvelope::GetSOAPBodyElement</a>()<font class="keyword"></font>
  00087 <font class="keyword"></font>{
  00088     <font class="keywordflow">return</font> (m_SOAPBody.size())?m_SOAPBody[0]:<font class="keyword">new</font> <a class="code" href="classMessageElement.html">MessageElement</a>; <font class="comment">// for the moment return the first body element for RPC</font>
  00089 }
  00090 
  <a name="l00091"></a><a class="code" href="classSOAPEnvelope.html#a4">00091</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a4">SOAPEnvelope::AddSOAPHeader</a>(<a class="code" href="classSOAPHeader.html">SOAPHeader</a> *p_pHd)<font class="keyword"></font>
  00092 <font class="keyword"></font>{
  00093     m_SOAPHeader.push_back(p_pHd);
  00094 }
  00095 
  <a name="l00096"></a><a class="code" href="classSOAPEnvelope.html#a5">00096</a> <font class="keywordtype">bool</font> <a class="code" href="classSOAPEnvelope.html#a5">SOAPEnvelope::RmSOAPBodyElement</a>(<font class="keyword">const</font> <a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a>&amp; p_Body)<font class="keyword"></font>
  00097 <font class="keyword"></font>{
  00098     <font class="keywordflow">return</font> <font class="keyword">false</font>;
  00099 }
  00100 
  <a name="l00101"></a><a class="code" href="classSOAPEnvelope.html#a6">00101</a> <font class="keywordtype">bool</font> <a class="code" href="classSOAPEnvelope.html#a6">SOAPEnvelope::RmSOAPHeader</a>(<font class="keyword">const</font> <a class="code" href="classSOAPHeader.html">SOAPHeader</a>&amp; p_Hd)<font class="keyword"></font>
  00102 <font class="keyword"></font>{
  00103     <font class="keywordflow">return</font> <font class="keyword">false</font>;
  00104 }
  00105 
  <a name="l00106"></a><a class="code" href="classSOAPEnvelope.html#a7">00106</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a7">SOAPEnvelope::AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00107 <font class="keyword"></font>{
  00108     std::string tagName = p_Elm.getTagName().transcode();
  00109     <font class="keyword">const</font> std::string strBodyQName = ax::NSPREFIX_SOAP_ENV + <font class="stringliteral">":"</font> + ax::ELEM_BODY;
  00110     <font class="keyword">const</font> std::string strHdQName   = ax::NSPREFIX_SOAP_ENV + <font class="stringliteral">":"</font> + ax::ELEM_HEADER;
  00111 
  00112     <font class="keywordflow">if</font>(strBodyQName == tagName)
  00113     {
  00114         <a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a> *pBody = <font class="keyword">new</font> SOAPBodyElement(p_Elm);
  00115         <a class="code" href="classSOAPEnvelope.html#a3">AddSOAPBodyElement</a>(pBody);
  00116     }
  00117     <font class="keywordflow">else</font>
  00118         <font class="keywordflow">if</font> (strHdQName == tagName)
  00119         {
  00120             <a class="code" href="classSOAPHeader.html">SOAPHeader</a> *pHd = <font class="keyword">new</font> SOAPHeader(p_Elm);
  00121             <a class="code" href="classSOAPEnvelope.html#a4">AddSOAPHeader</a>(pHd);
  00122         }
  00123         <font class="keywordflow">else</font>
  00124             <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Unexpected Element"</font>, 1);
  00125 }
  00126 
  00127 
  <a name="l00128"></a><a class="code" href="classSOAPEnvelope.html#a9">00128</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a9">SOAPEnvelope::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00129 <font class="keyword"></font>{
  00130     <a class="code" href="classSOAPEnvelope.html#a11">RegisterPrefixes</a>(serilizer);
  00131 
  00132     <font class="comment">// Build Envelope</font>
  00133     <a class="code" href="classAttList.html">AttList</a> attList;
  00134     serilizer.<a class="code" href="classXMLSerializer.html#a8">StartElem</a>(m_qName, attList);
  00135     
  00136     <font class="comment">// Serialize all the headers</font>
  00137     <font class="keywordflow">for</font>(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  00138         (*m_SOAPHdItr)-&gt;<a class="code" href="classSOAPHeader.html#a3">Serialize</a>(serilizer);
  00139 
  00140     <font class="comment">// Serialize all the body elements</font>
  00141     <font class="keywordflow">for</font>(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  00142         (*m_SOAPBodyItr)-&gt;<a class="code" href="classSOAPBodyElement.html#a6">Serialize</a>(serilizer);
  00143     
  00144     serilizer.<a class="code" href="classXMLSerializer.html#a13">flush</a>();
  00145 }
  00146 
  <a name="l00147"></a><a class="code" href="classSOAPEnvelope.html#a10">00147</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a10">SOAPEnvelope::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00148 <font class="keyword"></font>{
  00149     <font class="comment">// DeSerialize all the headers</font>
  00150     <font class="keywordflow">for</font>(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  00151         (*m_SOAPHdItr)-&gt;<a class="code" href="classSOAPHeader.html#a4">DeSerialize</a>(dserilizer);
  00152 
  00153     <font class="comment">// DeSerialize all the body elements</font>
  00154     <font class="keywordflow">for</font>(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  00155         (*m_SOAPBodyItr)-&gt;<a class="code" href="classSOAPBodyElement.html#a7">DeSerialize</a>(dserilizer);
  00156 }
  00157 
  00158 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8cpp.html
  
  Index: SOAPEnvelope_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelope.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPEnvelope_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8hpp-source.html
  
  Index: SOAPEnvelope_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelope.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope.hpp</h1><a href="SOAPEnvelope_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> *</font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> */</font>
  00041 
  00042 
  00043 <font class="preprocessor">#if !defined(_AXIS_SOAPENVELOPE_HPP)</font>
  <a name="l00044"></a><a class="code" href="SOAPEnvelope_8hpp.html#a0">00044</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPENVELOPE_HPP</font>
  00045 <font class="preprocessor"></font>
  00046 
  00047 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="SOAPBodyElement_8hpp.html">SOAPBodyElement.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="SOAPHeader_8hpp.html">SOAPHeader.hpp</a>"</font>
  00050 
  00051 
  00059 
  <a name="l00060"></a><a class="code" href="classSOAPEnvelope.html">00060</a> <font class="keyword">class </font><a class="code" href="classSOAPEnvelope.html">SOAPEnvelope</a> : <font class="keyword">public</font> <a class="code" href="classMessageElement.html">MessageElement</a>  
  00061 {
  00062 <font class="keyword">public</font>:
  00063     <a class="code" href="classSOAPEnvelope.html#a0">SOAPEnvelope</a>();
  00064     <a class="code" href="classSOAPEnvelope.html#a0">SOAPEnvelope</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00065     <font class="keyword">virtual</font> <a class="code" href="classSOAPEnvelope.html#a2">~SOAPEnvelope</a>();
  00066 
  00067     <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a3">AddSOAPBodyElement</a>(<a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a> *p_pBody);
  00068     <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a4">AddSOAPHeader</a>(<a class="code" href="classSOAPHeader.html">SOAPHeader</a>  *p_pHd);
  00069     <font class="keywordtype">bool</font> <a class="code" href="classSOAPEnvelope.html#a5">RmSOAPBodyElement</a>(<font class="keyword">const</font> <a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a>&amp; p_Body);
  00070     <font class="keywordtype">bool</font> <a class="code" href="classSOAPEnvelope.html#a6">RmSOAPHeader</a>(<font class="keyword">const</font> <a class="code" href="classSOAPHeader.html">SOAPHeader</a>&amp; p_Hd);
  00071 
  00072     <font class="keywordtype">void</font>  <a class="code" href="classMessageElement.html#a8">AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00073     <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPEnvelope.html#a8">GetSOAPBodyElement</a>();
  00074     
  00075     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00076     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00077 
  00078     template&lt;typename T&gt;
  <a name="l00079"></a><a class="code" href="classSOAPEnvelope.html#a11">00079</a>     <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelope.html#a11">RegisterPrefixes</a>(T&amp; contex)<font class="keyword">    </font>
  00080 <font class="keyword">    </font>{
  00081         <font class="comment">// Register namespace prefixes.</font>
  00082         contex.RegisterPrefixForURI(ax::NSPREFIX_SCHEMA_XSD, ax::URI_2001_SCHEMA_XSD);
  00083         contex.RegisterPrefixForURI(ax::NSPREFIX_SOAP_ENV  , ax::URI_SOAP_ENV       );
  00084         contex.RegisterPrefixForURI(ax::NSPREFIX_SCHEMA_XSI, ax::URI_2001_SCHEMA_XSI);
  00085     }
  00086 
  00087 <font class="keyword">private</font>:
  <a name="l00088"></a><a class="code" href="classSOAPEnvelope.html#o0">00088</a>     std::vector&lt;SOAPBodyElement*&gt; m_SOAPBody;   
  <a name="l00089"></a><a class="code" href="classSOAPEnvelope.html#o1">00089</a>     std::vector&lt;SOAPHeader*&gt;      m_SOAPHeader; 
  00090 
  <a name="l00091"></a><a class="code" href="classSOAPEnvelope.html#o2">00091</a>     std::vector&lt;SOAPBodyElement*&gt;::iterator m_SOAPBodyItr;
  <a name="l00092"></a><a class="code" href="classSOAPEnvelope.html#o3">00092</a>     std::vector&lt;SOAPHeader*&gt;::iterator      m_SOAPHdItr;     
  00093 
  00094 };
  00095 
  00096 
  00097 
  00098 <font class="preprocessor">#endif // _AXIS_SOAPENVELOPE_HPP</font>
  00099 <font class="preprocessor"></font>
  00100 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPEnvelope_8hpp.html
  
  Index: SOAPEnvelope_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelope.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope.hpp File Reference</h1><code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPEnvelope_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAP Envelop description.</em> <a href="classSOAPEnvelope.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPEnvelope_8hpp.html#a0">_AXIS_SOAPENVELOPE_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPEnvelope.hpp::_AXIS_SOAPENVELOPE_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPENVELOPE_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00044">44</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8cpp-source.html
  
  Index: SOAPFaultElement_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPFaultElement.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement.cpp</h1><a href="SOAPFaultElement_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="SOAPFaultElement_8hpp.html">SOAPFaultElement.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;dom/DOM_Element.hpp&gt;</font>
  00052 
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="classSOAPFaultElement.html#a0">00055</a> <a class="code" href="classSOAPFaultElement.html#a0">SOAPFaultElement::SOAPFaultElement</a>()<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_FAULT);
  00058 }
  00059 
  <a name="l00060"></a><a class="code" href="classSOAPFaultElement.html#a1">00060</a> <a class="code" href="classSOAPFaultElement.html#a0">SOAPFaultElement::SOAPFaultElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00061 <font class="keyword"></font>{
  00062     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00063     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_FAULT);
  00064 }
  00065 
  <a name="l00066"></a><a class="code" href="classSOAPFaultElement.html#a2">00066</a> <a class="code" href="classSOAPFaultElement.html#a2">SOAPFaultElement::~SOAPFaultElement</a>()<font class="keyword"></font>
  00067 <font class="keyword"></font>{
  00068 
  00069 }
  00070 
  <a name="l00071"></a><a class="code" href="classSOAPFaultElement.html#a3">00071</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPFaultElement.html#a3">SOAPFaultElement::AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00072 <font class="keyword"></font>{
  00073     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00074 
  00075     std::string tagName = p_Elm.getTagName().transcode();
  00076     
  00077     <font class="keywordflow">if</font>(m_pElmNode.hasChildNodes())
  00078     {
  00079         DOM_Node child = m_pElmNode.getFirstChild();
  00080 
  00081         <font class="keywordflow">if</font>(child.getNodeType() == DOM_Node::TEXT_NODE 
  00082             || child.getNodeType() == DOM_Node::CDATA_SECTION_NODE)
  00083         {
  00084             <font class="comment">// For the time being just holds the fault states as strings</font>
  00085             tagName = tagName.substr(tagName.find(<font class="charliteral">':'</font>) + 1); <font class="comment">// get local-part</font>
  00086             m_strFault += tagName + <font class="stringliteral">" : "</font> + child.getNodeValue().transcode() + <font class="stringliteral">"\r\n"</font>;
  00087         }
  00088     }
  00089     <font class="keywordflow">else</font>
  00090         <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Return data not found\n\n"</font>, 1);
  00091 }
  00092 
  00093 
  <a name="l00094"></a><a class="code" href="classSOAPFaultElement.html#a4">00094</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPFaultElement.html#a4">SOAPFaultElement::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00095 <font class="keyword"></font>{
  00096     <a class="code" href="classAttList.html">AttList</a> attList;
  00097     <font class="comment">// Output &lt;SOAP-ENV:Fault&gt;</font>
  00098     serilizer.<a class="code" href="classXMLSerializer.html#a8">StartElem</a>(m_qName, attList);
  00099 
  00100     <font class="comment">// Output &lt;/SOAP-ENV:Fault&gt;</font>
  00101     serilizer.<a class="code" href="classXMLSerializer.html#a9">EndElem</a>();
  00102 
  00103 }
  00104 
  <a name="l00105"></a><a class="code" href="classSOAPFaultElement.html#a5">00105</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPFaultElement.html#a5">SOAPFaultElement::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00106 <font class="keyword"></font>{
  00107     dserilizer.<a class="code" href="classXMLDeSerializer.html#a2">DeSerialize</a>(*<font class="keyword">this</font>);
  00108     <font class="keywordflow">throw</font> AxisException(m_strFault, 1);
  00109 }
  00110 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8cpp.html
  
  Index: SOAPFaultElement_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPFaultElement.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  <code>#include &lt;dom/DOM_Element.hpp&gt;</code><br>
  
  <p>
  <a href="SOAPFaultElement_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8hpp-source.html
  
  Index: SOAPFaultElement_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPFaultElement.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement.hpp</h1><a href="SOAPFaultElement_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_SOAPFAULT_ELEMENT_HPP)</font>
  <a name="l00047"></a><a class="code" href="SOAPFaultElement_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPFAULT_ELEMENT_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00050 
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPFaultElement.html">00059</a> <font class="keyword">class </font><a class="code" href="classSOAPFaultElement.html">SOAPFaultElement</a> : <font class="keyword">public</font> <a class="code" href="classMessageElement.html">MessageElement</a>
  00060 {
  00061 <font class="keyword">public</font>:
  00062     <a class="code" href="classSOAPFaultElement.html#a0">SOAPFaultElement</a>();
  00063     <a class="code" href="classSOAPFaultElement.html#a0">SOAPFaultElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00064     <font class="keyword">virtual</font> <a class="code" href="classSOAPFaultElement.html#a2">~SOAPFaultElement</a>();
  00065     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a8">AddMsgElement</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00066     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00067     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00068 
  00069 <font class="keyword">private</font>:
  <a name="l00070"></a><a class="code" href="classSOAPFaultElement.html#o0">00070</a>     std::string m_strFault;
  00071 };
  00072 
  00073 <font class="preprocessor">#endif // _AXIS_SOAPFAULT_ELEMENT_HPP</font>
  00074 <font class="preprocessor"></font>
  00075 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPFaultElement_8hpp.html
  
  Index: SOAPFaultElement_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPFaultElement.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement.hpp File Reference</h1><code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPFaultElement_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAPFault Element class is used for the mapping of the SOAP faults.</em> <a href="classSOAPFaultElement.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPFaultElement_8hpp.html#a0">_AXIS_SOAPFAULT_ELEMENT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPFaultElement.hpp::_AXIS_SOAPFAULT_ELEMENT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPFAULT_ELEMENT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8hpp-source.html#l00047">47</a> of file <a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8cpp-source.html
  
  Index: SOAPHeader_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPHeader.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader.cpp</h1><a href="SOAPHeader_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="SOAPHeader_8hpp.html">SOAPHeader.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00050 
  00051 
  00052 
  <a name="l00053"></a><a class="code" href="classSOAPHeader.html#a0">00053</a> <a class="code" href="classSOAPHeader.html#a0">SOAPHeader::SOAPHeader</a>()<font class="keyword"></font>
  00054 <font class="keyword"></font>{
  00055     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_HEADER);
  00056 }
  00057 
  <a name="l00058"></a><a class="code" href="classSOAPHeader.html#a1">00058</a> <a class="code" href="classSOAPHeader.html#a0">SOAPHeader::SOAPHeader</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm)<font class="keyword"></font>
  00059 <font class="keyword"></font>{
  00060     <a class="code" href="classMessageElement.html#a6">SetMsgElm</a>(p_Elm);
  00061     m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_HEADER);
  00062 }
  00063 
  <a name="l00064"></a><a class="code" href="classSOAPHeader.html#a2">00064</a> <a class="code" href="classSOAPHeader.html#a2">SOAPHeader::~SOAPHeader</a>()<font class="keyword"></font>
  00065 <font class="keyword"></font>{
  00066 
  00067 }
  00068 
  <a name="l00069"></a><a class="code" href="classSOAPHeader.html#a3">00069</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPHeader.html#a3">SOAPHeader::Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer)<font class="keyword"></font>
  00070 <font class="keyword"></font>{
  00071     <a class="code" href="classAttList.html">AttList</a> attList;
  00072     <font class="comment">// Output &lt;SOAP-ENV:Header&gt;</font>
  00073     serilizer.<a class="code" href="classXMLSerializer.html#a8">StartElem</a>(m_qName, attList);
  00074 
  00075     <font class="comment">// Output &lt;/SOAP-ENV:Header&gt;</font>
  00076     serilizer.<a class="code" href="classXMLSerializer.html#a9">EndElem</a>();
  00077 
  00078 }
  00079 
  <a name="l00080"></a><a class="code" href="classSOAPHeader.html#a4">00080</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPHeader.html#a4">SOAPHeader::DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer)<font class="keyword"></font>
  00081 <font class="keyword"></font>{
  00082 
  00083 }
  00084 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8cpp.html
  
  Index: SOAPHeader_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPHeader.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPHeader_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8hpp-source.html
  
  Index: SOAPHeader_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPHeader.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader.hpp</h1><a href="SOAPHeader_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_SOAPHEADER_HPP)</font>
  <a name="l00047"></a><a class="code" href="SOAPHeader_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPHEADER_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00050 
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPHeader.html">00059</a> <font class="keyword">class </font><a class="code" href="classSOAPHeader.html">SOAPHeader</a>  : <font class="keyword">public</font> <a class="code" href="classMessageElement.html">MessageElement</a>
  00060 {
  00061 <font class="keyword">public</font>:
  00062     <a class="code" href="classSOAPHeader.html#a0">SOAPHeader</a>();
  00063     <a class="code" href="classSOAPHeader.html#a0">SOAPHeader</a>(<font class="keyword">const</font> DOM_Element&amp; p_Elm);
  00064     <font class="keyword">virtual</font> <a class="code" href="classSOAPHeader.html#a2">~SOAPHeader</a>();
  00065     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a5">Serialize</a>(<a class="code" href="classXMLSerializer.html">XMLSerializer</a>&amp; serilizer);
  00066     <font class="keywordtype">void</font> <a class="code" href="classMessageElement.html#a4">DeSerialize</a>(<a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>&amp; dserilizer);
  00067 
  00068 
  00069 };
  00070 
  00071 <font class="preprocessor">#endif // _AXIS_SOAPHEADER_HPP</font>
  00072 <font class="preprocessor"></font>
  00073 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPHeader_8hpp.html
  
  Index: SOAPHeader_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPHeader.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader.hpp File Reference</h1><code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPHeader_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html">SOAPHeader</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAPHeader is used to map the SOAP Header as a Messag Element.</em> <a href="classSOAPHeader.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPHeader_8hpp.html#a0">_AXIS_SOAPHEADER_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPHeader.hpp::_AXIS_SOAPHEADER_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPHEADER_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPHeader_8hpp-source.html#l00047">47</a> of file <a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8cpp-source.html
  
  Index: SOAPMessage_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMessage.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage.cpp</h1><a href="SOAPMessage_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="SOAPMessage_8hpp.html">SOAPMessage.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00052 
  00053 
  <a name="l00054"></a><a class="code" href="classSOAPMessage.html#a3">00054</a> <a class="code" href="classSOAPMessage.html#a3">SOAPMessage::~SOAPMessage</a>()<font class="keyword"></font>
  00055 <font class="keyword"></font>{
  00056 
  00057 }
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPMessage.html#a4">00059</a> <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a> * <a class="code" href="classSOAPMessage.html#a4">SOAPMessage::GetSOAPBodyElement</a>()<font class="keyword"></font>
  00060 <font class="keyword"></font>{
  00061     <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a> *body = m_envMsg.<a class="code" href="classSOAPEnvelope.html#a8">GetSOAPBodyElement</a>();
  00062     <font class="keywordflow">return</font> ((<a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a>*)body)-&gt;GetBody();     
  00063 }
  00064 
  <a name="l00065"></a><a class="code" href="classSOAPMessage.html#a5">00065</a> <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMessage.html#a5">SOAPMessage::GetSOAPHeader</a>()<font class="keyword"></font>
  00066 <font class="keyword"></font>{
  00067     <font class="keywordflow">return</font> NULL;        <font class="comment">// TODO: need to return from the envelop</font>
  00068 }
  00069 
  <a name="l00070"></a><a class="code" href="classSOAPMessage.html#a6">00070</a> <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMessage.html#a6">SOAPMessage::GetSOAPEnvelop</a>()<font class="keyword"></font>
  00071 <font class="keyword"></font>{
  00072     <font class="keywordflow">return</font> &amp;m_envMsg;
  00073 }
  00074 
  00075 
  <a name="l00076"></a><a class="code" href="classSOAPMessage.html#a7">00076</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a7">SOAPMessage::SetSOAPBodyElement</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *p_pMsgElm)<font class="keyword"></font>
  00077 <font class="keyword"></font>{
  00078     <a class="code" href="classSOAPBodyElement.html">SOAPBodyElement</a> *body = <font class="keyword">new</font> SOAPBodyElement(p_pMsgElm);
  00079     m_envMsg.<a class="code" href="classSOAPEnvelope.html#a3">AddSOAPBodyElement</a>(body);
  00080 }
  00081 
  <a name="l00082"></a><a class="code" href="classSOAPMessage.html#a8">00082</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a8">SOAPMessage::SetSOAPHeader</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *p_pHd)<font class="keyword"></font>
  00083 <font class="keyword"></font>{
  00084 
  00085 }
  00086 
  <a name="l00087"></a><a class="code" href="classSOAPMessage.html#a9">00087</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a9">SOAPMessage::SetSOAPEnvelop</a>(<a class="code" href="classMessageElement.html">MessageElement</a> * p_pEnv)<font class="keyword"></font>
  00088 <font class="keyword"></font>{
  00089 
  00090 }
  00091 
  <a name="l00092"></a><a class="code" href="classSOAPMessage.html#a12">00092</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a12">SOAPMessage::Serialize</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper)<font class="keyword"></font>
  00093 <font class="keyword"></font>{
  00094     <a class="code" href="classXmlWriter.html">XmlWriter</a> writer;
  00095     <a class="code" href="classXMLSerializer.html">XMLSerializer</a> serilizer(writer);
  00096 
  00097     serilizer.<a class="code" href="classXMLSerializer.html#a6">SetTypeMappingRegistry</a>(p_TypMapper);
  00098     m_envMsg.<a class="code" href="classSOAPEnvelope.html#a9">Serialize</a>(serilizer);
  00099     m_Msg = writer.str();
  00100 
  00101 <font class="preprocessor">#ifdef _DEBUG</font>
  00102 <font class="preprocessor"></font>    std::cout &lt;&lt; writer.str();
  00103 <font class="preprocessor">#endif</font>
  00104 <font class="preprocessor"></font>}
  00105 
  <a name="l00106"></a><a class="code" href="classSOAPMessage.html#a11">00106</a> <font class="keywordtype">void</font>  <a class="code" href="classSOAPMessage.html#a11">SOAPMessage::SetMsg</a>(<font class="keyword">const</font> std::string&amp; p_Msg)<font class="keyword"></font>
  00107 <font class="keyword"></font>{
  00108     <font class="comment">// Try to get as SOAP message</font>
  00109     std::string::size_type pos;
  00110 
  00111     <font class="keywordflow">if</font>((pos = p_Msg.find(<font class="stringliteral">"&lt;"</font>)) != std::string::npos)
  00112     {
  00113         m_Msg = p_Msg.substr(pos, p_Msg.rfind(<font class="stringliteral">"&gt;"</font>) - pos + 1);
  00114     }
  00115     <font class="keywordflow">else</font>
  00116         <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Error in Message ..."</font>, 1);
  00117 }
  00118 
  <a name="l00119"></a><a class="code" href="classSOAPMessage.html#a13">00119</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a13">SOAPMessage::DeSerialize</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper)<font class="keyword"></font>
  00120 <font class="keyword"></font>{
  00121     <font class="comment">//Set the string form of the SOAP envelop for deserialization.</font>
  00122     <a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a> dserilizer(m_Msg);
  00123     dserilizer.<a class="code" href="classXMLDeSerializer.html#a7">SetTypeMappingRegistry</a>(p_TypMapper);
  00124 
  00125     <font class="keywordflow">try</font>
  00126     {
  00127         <font class="comment">//Generate Envelop from a string </font>
  00128         m_envMsg.<a class="code" href="classSOAPEnvelope.html#a11">RegisterPrefixes</a>(dserilizer);
  00129         dserilizer.<a class="code" href="classXMLDeSerializer.html#a2">DeSerialize</a>(m_envMsg);
  00130         m_envMsg.<a class="code" href="classSOAPEnvelope.html#a10">DeSerialize</a>(dserilizer);
  00131     }
  00132     <font class="keywordflow">catch</font> (<a class="code" href="classAxisException.html">AxisException</a>&amp; axExp)
  00133     {
  00134         std::cerr &lt;&lt; axExp.GetErrorMsg() &lt;&lt; std::endl;
  00135         <font class="comment">// Clear trace message?? do we want to do this</font>
  00136         axExp.Clear();
  00137         <font class="keywordflow">throw</font>;
  00138     }
  00139 }
  00140 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8cpp.html
  
  Index: SOAPMessage_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMessage.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  
  <p>
  <a href="SOAPMessage_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8hpp-source.html
  
  Index: SOAPMessage_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMessage.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage.hpp</h1><a href="SOAPMessage_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_SOAPMESSAGE_HPP)</font>
  <a name="l00047"></a><a class="code" href="SOAPMessage_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _SOAPMESSAGE_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="SOAPBodyElement_8hpp.html">SOAPBodyElement.hpp</a>"</font>  
  00050 <font class="preprocessor">#include "<a class="code" href="SOAPHeader_8hpp.html">SOAPHeader.hpp</a>"</font>   
  00051 <font class="preprocessor">#include "<a class="code" href="SOAPEnvelope_8hpp.html">SOAPEnvelope.hpp</a>"</font>
  00052 
  00053 
  00054 <font class="keyword">class </font><a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>;
  00055 
  00056 
  <a name="l00057"></a><a class="code" href="classSOAPMessage.html">00057</a> <font class="keyword">class </font><a class="code" href="classSOAPMessage.html">SOAPMessage</a>
  00058 {
  00059     <font class="keyword">public</font>:
  <a name="l00060"></a><a class="code" href="classSOAPMessage.html#a0">00060</a>         <a class="code" href="classSOAPMessage.html#a0">SOAPMessage</a>() : m_Msg(""){}
  <a name="l00061"></a><a class="code" href="classSOAPMessage.html#a1">00061</a>         <a class="code" href="classSOAPMessage.html#a0">SOAPMessage</a>(std::string p_strMsg):m_Msg(p_strMsg){}
  <a name="l00062"></a><a class="code" href="classSOAPMessage.html#a2">00062</a>         <a class="code" href="classSOAPMessage.html#a0">SOAPMessage</a>(<a class="code" href="classSOAPEnvelope.html">SOAPEnvelope</a>&amp; pEnv): m_Msg(""), m_envMsg(pEnv){}
  00063         <font class="keyword">virtual</font> <a class="code" href="classSOAPMessage.html#a3">~SOAPMessage</a>();
  00064 
  00065         <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMessage.html#a4">GetSOAPBodyElement</a>();
  00066         <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMessage.html#a5">GetSOAPHeader</a>();
  00067         <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMessage.html#a6">GetSOAPEnvelop</a>();
  00068         <font class="keywordtype">void</font>  <a class="code" href="classSOAPMessage.html#a7">SetSOAPBodyElement</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *);
  00069         <font class="keywordtype">void</font>  <a class="code" href="classSOAPMessage.html#a8">SetSOAPHeader</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *);
  00070         <font class="keywordtype">void</font>  <a class="code" href="classSOAPMessage.html#a9">SetSOAPEnvelop</a>(<a class="code" href="classMessageElement.html">MessageElement</a> *);
  <a name="l00071"></a><a class="code" href="classSOAPMessage.html#a10">00071</a>         <font class="keyword">const</font> std::string&amp; <a class="code" href="classSOAPMessage.html#a10">GetMsg</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Msg;}
  00072         <font class="keywordtype">void</font>  <a class="code" href="classSOAPMessage.html#a11">SetMsg</a>(<font class="keyword">const</font> std::string&amp; p_Msg);
  00073 
  00074         <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a12">Serialize</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper);
  00075         <font class="keywordtype">void</font> <a class="code" href="classSOAPMessage.html#a13">DeSerialize</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper);
  00076 
  00077 
  00078     <font class="keyword">private</font>:
  <a name="l00079"></a><a class="code" href="classSOAPMessage.html#o0">00079</a>         std::string  m_Msg;
  <a name="l00080"></a><a class="code" href="classSOAPMessage.html#o1">00080</a>         <a class="code" href="classSOAPEnvelope.html">SOAPEnvelope</a> m_envMsg;
  00081         
  00082 };
  00083 
  00084 <font class="preprocessor">#endif // _SOAPMESSAGE_HPP</font>
  00085 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMessage_8hpp.html
  
  Index: SOAPMessage_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMessage.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage.hpp File Reference</h1><code>#include "<a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPMessage_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html">SOAPMessage</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPMessage_8hpp.html#a0">_SOAPMESSAGE_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPMessage.hpp::_SOAPMESSAGE_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _SOAPMESSAGE_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00047">47</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8cpp-source.html
  
  Index: SOAPMsgContext_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMsgContext.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext.cpp</h1><a href="SOAPMsgContext_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="SOAPMsgContext_8hpp.html">SOAPMsgContext.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="Sender_8hpp.html">Sender.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="Receiver_8hpp.html">Receiver.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="TransportFactory_8hpp.html">TransportFactory.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00052 
  00053 
  00054 
  <a name="l00055"></a><a class="code" href="classSOAPMsgContext.html#a0">00055</a> <a class="code" href="classSOAPMsgContext.html#a0">SOAPMsgContext::SOAPMsgContext</a>()
  00056     :m_pTransportChannel(0), m_pReqMsg(0), m_pRepMsg(0)<font class="keyword"></font>
  00057 <font class="keyword"></font>{
  00058     m_pTypeMpRegistry = <font class="keyword">new</font> TypeMappingRegistry();
  00059 }
  00060 
  <a name="l00061"></a><a class="code" href="classSOAPMsgContext.html#a1">00061</a> <a class="code" href="classSOAPMsgContext.html#a1">SOAPMsgContext::~SOAPMsgContext</a>()<font class="keyword"></font>
  00062 <font class="keyword"></font>{
  00063     <font class="keyword">delete</font> m_pTransportChannel;
  00064     <font class="keyword">delete</font> m_pTypeMpRegistry;
  00065     <font class="keyword">delete</font> m_pRepMsg;
  00066     <font class="keyword">delete</font> m_pReqMsg;
  00067 }
  00068 
  00069 
  <a name="l00070"></a><a class="code" href="classSOAPMsgContext.html#a2">00070</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMsgContext.html#a2">SOAPMsgContext::RegisterTypeMapping</a>(<font class="keyword">const</font> std::string&amp; typname, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * ser)<font class="keyword"></font>
  00071 <font class="keyword"></font>{
  00072     m_pTypeMpRegistry-&gt;<a class="code" href="classTypeMappingRegistry.html#a2">AddSerializerFactory</a>(typname, ser);
  00073 }
  00074 
  <a name="l00075"></a><a class="code" href="classSOAPMsgContext.html#a4">00075</a> <font class="keywordtype">void</font> <a class="code" href="classSOAPMsgContext.html#a4">SOAPMsgContext::Invoke</a>(<a class="code" href="classRPCElement.html">RPCElement</a> *p_pBody)<font class="keyword"></font>
  00076 <font class="keyword"></font>{
  00077     <font class="keywordflow">try</font>
  00078     {
  00079         m_pReqMsg = <font class="keyword">new</font> SOAPMessage();
  00080 
  00081         m_pReqMsg-&gt;<a class="code" href="classSOAPMessage.html#a7">SetSOAPBodyElement</a>(p_pBody);
  00082         m_pReqMsg-&gt;<a class="code" href="classSOAPMessage.html#a12">Serialize</a>(m_pTypeMpRegistry);
  00083 
  00084         m_pTransportChannel = <a class="code" href="classTransportFactory.html#d0">TransportFactory::GetTransport</a>(m_ServiceUrl); 
  00085         m_pTransportChannel-&gt;<a class="code" href="classTransport.html#a4">SetProperty</a>(ax::PROP_SOAPACTION, <font class="stringliteral">""</font>);
  00086 
  00087         <a class="code" href="classSender.html">Sender</a>   request(m_pTransportChannel);
  00088         m_bRecv = request.<a class="code" href="classSender.html#a2">Send</a>(m_pReqMsg-&gt;<a class="code" href="classSOAPMessage.html#a10">GetMsg</a>()); 
  00089 
  00090         <a class="code" href="classReceiver.html">Receiver</a> response(m_pTransportChannel);
  00091 
  00092         <font class="keywordflow">if</font>(m_bRecv)
  00093         {
  00094             m_pRepMsg = <font class="keyword">new</font> SOAPMessage();
  00095             m_pRepMsg-&gt;<a class="code" href="classSOAPMessage.html#a11">SetMsg</a>(response.<a class="code" href="classReceiver.html#a2">Recv</a>());
  00096             m_pRepMsg-&gt;<a class="code" href="classSOAPMessage.html#a13">DeSerialize</a>(m_pTypeMpRegistry);
  00097         }
  00098     }
  00099     <font class="keywordflow">catch</font>(<a class="code" href="classAxisException.html">AxisException</a>&amp; ex)
  00100     {
  00101         std::cerr &lt;&lt; ex.GetErrorMsg() &lt;&lt; std::endl;
  00102         <font class="keywordflow">throw</font>;
  00103     }
  00104     <font class="keywordflow">catch</font>(...)
  00105     {
  00106         std::cerr &lt;&lt; <font class="stringliteral">"Unexpected Exception in SOAPMsgContext::Invoke() ....."</font> &lt;&lt; std::endl;
  00107         <font class="keywordflow">throw</font>;
  00108     }
  00109 }
  00110 
  <a name="l00111"></a><a class="code" href="classSOAPMsgContext.html#a5">00111</a> <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMsgContext.html#a5">SOAPMsgContext::GetResults</a>()<font class="keyword"></font>
  00112 <font class="keyword"></font>{
  00113     <font class="keywordflow">return</font> m_pRepMsg-&gt;<a class="code" href="classSOAPMessage.html#a4">GetSOAPBodyElement</a>();
  00114 }
  00115 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8cpp.html
  
  Index: SOAPMsgContext_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMsgContext.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Sender_8hpp-source.html">Sender.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TransportFactory_8hpp-source.html">TransportFactory.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  
  <p>
  <a href="SOAPMsgContext_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8hpp-source.html
  
  Index: SOAPMsgContext_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMsgContext.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext.hpp</h1><a href="SOAPMsgContext_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_SOAPMSGCONTEXT_HPP)</font>
  <a name="l00046"></a><a class="code" href="SOAPMsgContext_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SOAPMSGCONTEXT_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 <font class="preprocessor">#include "<a class="code" href="SOAPMessage_8hpp.html">SOAPMessage.hpp</a>"</font>  
  00049 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="Url_8hpp.html">Url.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00052 
  00053 
  00054 <font class="keyword">class </font>Serializer;
  00055 <font class="keyword">class </font>DeSerializer;
  00056 <font class="keyword">class </font><a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>;
  00057 
  00058 
  <a name="l00059"></a><a class="code" href="classSOAPMsgContext.html">00059</a> <font class="keyword">class </font><a class="code" href="classSOAPMsgContext.html">SOAPMsgContext</a>  
  00060 {
  00061 <font class="keyword">public</font>:
  00062     <a class="code" href="classSOAPMsgContext.html#a0">SOAPMsgContext</a>();
  00063     <font class="keyword">virtual</font> <a class="code" href="classSOAPMsgContext.html#a1">~SOAPMsgContext</a>();
  00064 
  00065     <font class="keywordtype">void</font> <a class="code" href="classSOAPMsgContext.html#a2">RegisterTypeMapping</a>(<font class="keyword">const</font> std::string&amp; typname, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * ser);
  <a name="l00066"></a><a class="code" href="classSOAPMsgContext.html#a3">00066</a>     <font class="keywordtype">void</font> <a class="code" href="classSOAPMsgContext.html#a3">SetServiceURL</a>(<font class="keyword">const</font> std::string&amp;  p_ServerURL)<font class="keyword"></font>{m_ServiceUrl = Url(p_ServerURL);}
  00067     <font class="keywordtype">void</font> <a class="code" href="classSOAPMsgContext.html#a4">Invoke</a>(<a class="code" href="classRPCElement.html">RPCElement</a> *p_pBody);
  00068     <font class="keyword">const</font> <a class="code" href="classMessageElement.html">MessageElement</a>* <a class="code" href="classSOAPMsgContext.html#a5">GetResults</a>();
  00069 
  00070 <font class="keyword">private</font>:
  <a name="l00071"></a><a class="code" href="classSOAPMsgContext.html#o0">00071</a>     <a class="code" href="classSOAPMessage.html">SOAPMessage</a> *m_pReqMsg;
  <a name="l00072"></a><a class="code" href="classSOAPMsgContext.html#o1">00072</a>     <a class="code" href="classSOAPMessage.html">SOAPMessage</a> *m_pRepMsg;
  00073 
  <a name="l00074"></a><a class="code" href="classSOAPMsgContext.html#o2">00074</a>     <a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* m_pTypeMpRegistry;
  00075 
  <a name="l00076"></a><a class="code" href="classSOAPMsgContext.html#o3">00076</a>     <a class="code" href="classUrl.html">Url</a>  m_ServiceUrl;
  <a name="l00077"></a><a class="code" href="classSOAPMsgContext.html#o4">00077</a>     <a class="code" href="classTransport.html">Transport</a> *m_pTransportChannel;
  <a name="l00078"></a><a class="code" href="classSOAPMsgContext.html#o5">00078</a>     <font class="keywordtype">bool</font> m_bRecv;
  00079     
  00080 };
  00081 
  00082 <font class="preprocessor">#endif // _AXIS_SOAPMSGCONTEXT_HPP</font>
  00083 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SOAPMsgContext_8hpp.html
  
  Index: SOAPMsgContext_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMsgContext.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext.hpp File Reference</h1><code>#include "<a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Url_8hpp-source.html">Url.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  
  <p>
  <a href="SOAPMsgContext_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SOAPMsgContext_8hpp.html#a0">_AXIS_SOAPMSGCONTEXT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SOAPMsgContext.hpp::_AXIS_SOAPMSGCONTEXT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SOAPMSGCONTEXT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00046">46</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8cpp-source.html
  
  Index: Sender_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Sender.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender.cpp</h1><a href="Sender_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="Sender_8hpp.html">Sender.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00048 
  00049 
  00050 
  <a name="l00051"></a><a class="code" href="classSender.html#a0">00051</a> <a class="code" href="classSender.html#a0">Sender::Sender</a>(<a class="code" href="classTransport.html">Transport</a> *pTr)
  00052     : m_pTrChannel(pTr)
  00053 {
  00054 
  00055 }
  00056 
  <a name="l00057"></a><a class="code" href="classSender.html#a1">00057</a> <a class="code" href="classSender.html#a1">Sender::~Sender</a>()<font class="keyword"></font>
  00058 <font class="keyword"></font>{
  00059 
  00060 }
  00061 
  <a name="l00062"></a><a class="code" href="classSender.html#a2">00062</a> <font class="keywordtype">bool</font> <a class="code" href="classSender.html#a2">Sender::Send</a>(<font class="keyword">const</font> std::string&amp; what) <font class="keywordflow">throw</font> (<a class="code" href="classAxisException.html">AxisException</a>)
  00063 {
  00064     <font class="keywordflow">try</font>
  00065     {
  00066         m_pTrChannel-&gt;Init();
  00067 
  00068         *m_pTrChannel &lt;&lt; what;
  00069     }
  00070     <font class="keywordflow">catch</font>(...)
  00071     {
  00072         <font class="keywordflow">throw</font> AxisException(<font class="stringliteral">"Exception on sending the message"</font>, 1);
  00073     }
  00074 
  00075     <font class="keywordflow">return</font> <font class="keyword">true</font>;
  00076 }
  00077 
  00078 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8cpp.html
  
  Index: Sender_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Sender.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Sender_8hpp-source.html">Sender.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  
  <p>
  <a href="Sender_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8hpp-source.html
  
  Index: Sender_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Sender.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender.hpp</h1><a href="Sender_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_SENDER_HPP)</font>
  <a name="l00047"></a><a class="code" href="Sender_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SENDER_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="SOAPMessage_8hpp.html">SOAPMessage.hpp</a>"</font>  
  00050 <font class="preprocessor">#include "<a class="code" href="AxisException_8hpp.html">AxisException.hpp</a>"</font>
  00051 
  00052 <font class="keyword">class </font><a class="code" href="classTransport.html">Transport</a>;
  00053 
  <a name="l00054"></a><a class="code" href="classSender.html">00054</a> <font class="keyword">class </font><a class="code" href="classSender.html">Sender</a>  
  00055 {
  00056     <font class="keyword">public</font>:
  00057         <a class="code" href="classSender.html#a0">Sender</a>(<a class="code" href="classTransport.html">Transport</a> *pTr);
  00058         <a class="code" href="classSender.html#a1">~Sender</a>();
  00059     
  00060         <font class="keywordtype">bool</font> <a class="code" href="classSender.html#a2">Send</a>(<font class="keyword">const</font> std::string&amp; what) <font class="keywordflow">throw</font> (<a class="code" href="classAxisException.html">AxisException</a>);
  00061 
  00062     <font class="keyword">private</font>:
  <a name="l00063"></a><a class="code" href="classSender.html#o0">00063</a>         <a class="code" href="classTransport.html">Transport</a>   *m_pTrChannel;
  00064 };
  00065 
  00066 <font class="preprocessor">#endif // _AXIS_SENDER_HPP</font>
  00067 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Sender_8hpp.html
  
  Index: Sender_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Sender.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender.hpp File Reference</h1><code>#include "<a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>"</code><br>
  
  <p>
  <a href="Sender_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSender.html">Sender</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Sender_8hpp.html#a0">_AXIS_SENDER_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Sender.hpp::_AXIS_SENDER_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SENDER_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Sender_8hpp-source.html#l00047">47</a> of file <a class="el" href="Sender_8hpp-source.html">Sender.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SerializerFactory_8hpp-source.html
  
  Index: SerializerFactory_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SerializerFactory.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SerializerFactory.hpp</h1><a href="SerializerFactory_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_SERIALIZERFACTORY_HPP)</font>
  <a name="l00046"></a><a class="code" href="SerializerFactory_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SERIALIZERFACTORY_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 
  00049 <font class="preprocessor">#include &lt;string&gt;</font>
  00050 
  00051 
  00063 
  <a name="l00064"></a><a class="code" href="classSerializerFactory.html">00064</a> <font class="keyword">class </font><a class="code" href="classSerializerFactory.html">SerializerFactory</a>  
  00065 {
  00066 <font class="keyword">public</font>:
  <a name="l00067"></a><a class="code" href="classSerializerFactory.html#a0">00067</a>     <a class="code" href="classSerializerFactory.html#a0">SerializerFactory</a>()<font class="keyword"></font>{};
  <a name="l00068"></a><a class="code" href="classSerializerFactory.html#a1">00068</a>     <font class="keyword">virtual</font> <a class="code" href="classSerializerFactory.html#a1">~SerializerFactory</a>()<font class="keyword"></font>{};
  00069 
  00077     <font class="keyword">virtual</font> <font class="keyword">const</font> std::string <a class="code" href="classSerializerFactory.html#a2">Serialize</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> * val)=0;
  00078 
  00086     <font class="keyword">virtual</font> <font class="keywordtype">void</font>* <a class="code" href="classSerializerFactory.html#a3">Deserialize</a>(std::string&amp; val)=0;
  00087 };
  00088 
  00089 
  00090 
  00091 <font class="preprocessor">#endif // _AXIS_SERIALIZERFACTORY_HPP</font>
  00092 <font class="preprocessor"></font>
  00093 
  00094 
  00095 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/SerializerFactory_8hpp.html
  
  Index: SerializerFactory_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SerializerFactory.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SerializerFactory.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  
  <p>
  <a href="SerializerFactory_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSerializerFactory.html">SerializerFactory</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>(De)serialization interface for user defined types.</em> <a href="classSerializerFactory.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="SerializerFactory_8hpp.html#a0">_AXIS_SERIALIZERFACTORY_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="SerializerFactory.hpp::_AXIS_SERIALIZERFACTORY_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SERIALIZERFACTORY_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="SerializerFactory_8hpp-source.html#l00046">46</a> of file <a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8cpp-source.html
  
  Index: ServiceFactory_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ServiceFactory.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory.cpp</h1><a href="ServiceFactory_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="ServiceFactory_8hpp.html">ServiceFactory.hpp</a>"</font>
  00047 
  00048 
  00049 
  <a name="l00050"></a><a class="code" href="classServiceFactory.html#a0">00050</a> <a class="code" href="classServiceFactory.html#a0">ServiceFactory::ServiceFactory</a>()<font class="keyword"></font>
  00051 <font class="keyword"></font>{
  00052 
  00053 }
  00054 
  <a name="l00055"></a><a class="code" href="classServiceFactory.html#a1">00055</a> <a class="code" href="classServiceFactory.html#a1">ServiceFactory::~ServiceFactory</a>()<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057 
  00058 }
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8cpp.html
  
  Index: ServiceFactory_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ServiceFactory.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a>"</code><br>
  
  <p>
  <a href="ServiceFactory_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8hpp-source.html
  
  Index: ServiceFactory_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ServiceFactory.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory.hpp</h1><a href="ServiceFactory_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_SERVICEFACTORY_HPP)</font>
  <a name="l00046"></a><a class="code" href="ServiceFactory_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_SERVICEFACTORY_HPP</font>
  00047 <font class="preprocessor"></font>
  00048 
  00049 <font class="preprocessor">#include "<a class="code" href="Call_8hpp.html">Call.hpp</a>"</font>
  00050 
  00064 
  <a name="l00065"></a><a class="code" href="classServiceFactory.html">00065</a> <font class="keyword">class </font><a class="code" href="classServiceFactory.html">ServiceFactory</a>  
  00066 {
  00067 <font class="keyword">public</font>:
  00068     <a class="code" href="classServiceFactory.html#a0">ServiceFactory</a>();
  00069 
  00071     <font class="keyword">virtual</font> <a class="code" href="classServiceFactory.html#a1">~ServiceFactory</a>()=0; 
  00072 
  <a name="l00074"></a><a class="code" href="classServiceFactory.html#d0">00074</a>     <font class="keyword">static</font> <a class="code" href="classCall.html">Call</a>* <a class="code" href="classServiceFactory.html#d0">CreateCall</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> <font class="keyword">new</font> Call();} 
  00075 
  00076 };
  00077 
  00078 <font class="preprocessor">#endif // _AXIS_SERVICEFACTORY_HPP</font>
  00079 <font class="preprocessor"></font>
  00080 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ServiceFactory_8hpp.html
  
  Index: ServiceFactory_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ServiceFactory.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory.hpp File Reference</h1><code>#include "<a class="el" href="Call_8hpp-source.html">Call.hpp</a>"</code><br>
  
  <p>
  <a href="ServiceFactory_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classServiceFactory.html">ServiceFactory</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Instancetiate <a class="el" href="classCall.html">Call</a> object for the dynamic invocation of a remote operation.</em> <a href="classServiceFactory.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="ServiceFactory_8hpp.html#a0">_AXIS_SERVICEFACTORY_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="ServiceFactory.hpp::_AXIS_SERVICEFACTORY_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_SERVICEFACTORY_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="ServiceFactory_8hpp-source.html#l00046">46</a> of file <a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8cpp-source.html
  
  Index: TransportFactory_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TransportFactory.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory.cpp</h1><a href="TransportFactory_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="TransportFactory_8hpp.html">TransportFactory.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="HttpTransport_8hpp.html">HttpTransport.hpp</a>"</font>
  00049 
  00050 
  00051 
  <a name="l00052"></a><a class="code" href="classTransportFactory.html#a0">00052</a> <a class="code" href="classTransportFactory.html#a0">TransportFactory::TransportFactory</a>()<font class="keyword"></font>
  00053 <font class="keyword"></font>{
  00054 
  00055 }
  00056 
  <a name="l00057"></a><a class="code" href="classTransportFactory.html#a1">00057</a> <a class="code" href="classTransportFactory.html#a1">TransportFactory::~TransportFactory</a>()<font class="keyword"></font>
  00058 <font class="keyword"></font>{
  00059 
  00060 }
  00061 
  <a name="l00062"></a><a class="code" href="classTransportFactory.html#d0">00062</a> <a class="code" href="classTransport.html">Transport</a>* <a class="code" href="classTransportFactory.html#d0">TransportFactory::GetTransport</a>(<a class="code" href="classUrl.html">Url</a>&amp; url)<font class="keyword"></font>
  00063 <font class="keyword"></font>{
  00064     <font class="keywordflow">if</font>(url.<a class="code" href="classUrl.html#a8">GetProtocol</a>() == Url::http)
  00065     {
  00066         <font class="keywordflow">return</font> <font class="keyword">new</font> HttpTransport(url);
  00067     }
  00068     <font class="keywordflow">else</font> <font class="keywordflow">if</font>(url.<a class="code" href="classUrl.html#a8">GetProtocol</a>() == Url::https)
  00069     {
  00070         <font class="keywordflow">return</font> NULL; <font class="comment">// currently not supported</font>
  00071     }
  00072     <font class="keywordflow">else</font> <font class="keywordflow">if</font>(url.<a class="code" href="classUrl.html#a8">GetProtocol</a>() == Url::ftp)
  00073     {
  00074         <font class="keywordflow">return</font> NULL; <font class="comment">// currently not supported</font>
  00075     }
  00076     <font class="keywordflow">else</font>
  00077         <font class="keywordflow">return</font> NULL; <font class="comment">// currently not supported</font>
  00078 }
  00079 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8cpp.html
  
  Index: TransportFactory_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TransportFactory.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TransportFactory_8hpp-source.html">TransportFactory.hpp</a>"</code><br>
  <code>#include "<a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>"</code><br>
  
  <p>
  <a href="TransportFactory_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8hpp-source.html
  
  Index: TransportFactory_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TransportFactory.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory.hpp</h1><a href="TransportFactory_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_TRANSPORTFACTORY_HPP)</font>
  <a name="l00047"></a><a class="code" href="TransportFactory_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_TRANSPORTFACTORY_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="Url_8hpp.html">Url.hpp</a>"</font>
  00050 
  00051 <font class="keyword">class </font><a class="code" href="classTransport.html">Transport</a>;
  00052 
  00053 
  00064 
  00065 
  00066 
  <a name="l00067"></a><a class="code" href="classTransportFactory.html">00067</a> <font class="keyword">class </font><a class="code" href="classTransportFactory.html">TransportFactory</a>  
  00068 {
  00069 <font class="keyword">public</font>:
  00070     <a class="code" href="classTransportFactory.html#a0">TransportFactory</a>();
  00071     <font class="keyword">virtual</font> <a class="code" href="classTransportFactory.html#a1">~TransportFactory</a>()=0;
  00072 
  00073     <font class="keyword">static</font> <a class="code" href="classTransport.html">Transport</a>* <a class="code" href="classTransportFactory.html#d0">GetTransport</a>(<a class="code" href="classUrl.html">Url</a>&amp; url); <font class="comment">// return transport object according to URL info</font>
  00074 };
  00075 
  00076 <font class="preprocessor">#endif // _AXIS_TRANSPORTFACTORY_HPP</font>
  00077 <font class="preprocessor"></font>
  00078 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TransportFactory_8hpp.html
  
  Index: TransportFactory_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TransportFactory.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory.hpp File Reference</h1><code>#include "<a class="el" href="Url_8hpp-source.html">Url.hpp</a>"</code><br>
  
  <p>
  <a href="TransportFactory_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTransportFactory.html">TransportFactory</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="TransportFactory_8hpp.html#a0">_AXIS_TRANSPORTFACTORY_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="TransportFactory.hpp::_AXIS_TRANSPORTFACTORY_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_TRANSPORTFACTORY_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="TransportFactory_8hpp-source.html#l00047">47</a> of file <a class="el" href="TransportFactory_8hpp-source.html">TransportFactory.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8cpp-source.html
  
  Index: Transport_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Transport.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport.cpp</h1><a href="Transport_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="Transport_8hpp.html">Transport.hpp</a>"</font>
  00047 
  00048 
  00049 
  <a name="l00050"></a><a class="code" href="classTransport.html#a0">00050</a> <a class="code" href="classTransport.html#a0">Transport::Transport</a>()<font class="keyword"></font>
  00051 <font class="keyword"></font>{
  00052 
  00053 }
  00054 
  <a name="l00055"></a><a class="code" href="classTransport.html#a1">00055</a> <a class="code" href="classTransport.html#a1">Transport::~Transport</a>()<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057 
  00058 }
  00059 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8cpp.html
  
  Index: Transport_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Transport.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>"</code><br>
  
  <p>
  <a href="Transport_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8hpp-source.html
  
  Index: Transport_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Transport.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport.hpp</h1><a href="Transport_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 
  00047 <font class="preprocessor">#if !defined(_AXIS_TRANSPORT_HPP)</font>
  <a name="l00048"></a><a class="code" href="Transport_8hpp.html#a0">00048</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_TRANSPORT_HPP</font>
  00049 <font class="preprocessor"></font>
  00050 <font class="preprocessor">#include "<a class="code" href="Url_8hpp.html">Url.hpp</a>"</font>
  00051 <font class="preprocessor">#include "<a class="code" href="Channel_8hpp.html">Channel.hpp</a>"</font>
  00052     
  00062 
  <a name="l00063"></a><a class="code" href="classTransport.html">00063</a> <font class="keyword">class </font><a class="code" href="classTransport.html">Transport</a>  
  00064 {
  00065 <font class="keyword">public</font>:
  00066     <a class="code" href="classTransport.html#a0">Transport</a>();
  00067     <font class="keyword">virtual</font> <a class="code" href="classTransport.html#a1">~Transport</a>();
  00068 
  <a name="l00069"></a><a class="code" href="classTransport.html#a2">00069</a>     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classTransport.html#a2">Init</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> <font class="keyword">false</font>;}      <font class="comment">// Initialize transport channel</font>
  <a name="l00070"></a><a class="code" href="classTransport.html#a3">00070</a>     <font class="keyword">virtual</font> <font class="keywordtype">bool</font> <a class="code" href="classTransport.html#a3">GetStatus</a>(<font class="keyword">const</font> std::string&amp; payload)<font class="keyword"></font>{<font class="keywordflow">return</font> m_bStatus;}
  <a name="l00071"></a><a class="code" href="classTransport.html#a4">00071</a>     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classTransport.html#a4">SetProperty</a>(<font class="keyword">const</font> std::string&amp; p_Property, <font class="keyword">const</font> std::string&amp; p_Value)<font class="keyword"></font>{}
  00072 
  00073 
  <a name="l00074"></a><a class="code" href="classTransport.html#a5">00074</a>     <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classTransport.html#a5">operator &gt;&gt; </a>(std::string&amp; msg)<font class="keyword"></font>{<font class="keywordflow">return</font> *<font class="keyword">this</font>;}
  <a name="l00075"></a><a class="code" href="classTransport.html#a6">00075</a>     <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classTransport.html">Transport</a>&amp; <a class="code" href="classTransport.html#a6">operator &lt;&lt; </a>(<font class="keyword">const</font> std::string&amp; msg)<font class="keyword"></font>{<font class="keywordflow">return</font> *<font class="keyword">this</font>;}
  00076 
  00077 
  00078 <font class="keyword">protected</font>:
  00079 
  <a name="l00080"></a><a class="code" href="classTransport.html#n0">00080</a>     <a class="code" href="classUrl.html">Url</a> m_Url;
  <a name="l00081"></a><a class="code" href="classTransport.html#n1">00081</a>     std::string m_strUrl;           
  <a name="l00082"></a><a class="code" href="classTransport.html#n2">00082</a>     <a class="code" href="classChannel.html">Channel</a> m_Channel;
  00083 
  <a name="l00084"></a><a class="code" href="classTransport.html#n3">00084</a>     <font class="keywordtype">bool</font> m_bStatus;
  00085 
  00086 };
  00087 
  00088 <font class="preprocessor">#endif // _AXIS_TRANSPORT_HPP</font>
  00089 <font class="preprocessor"></font>
  00090 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Transport_8hpp.html
  
  Index: Transport_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Transport.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport.hpp File Reference</h1><code>#include "<a class="el" href="Url_8hpp-source.html">Url.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>"</code><br>
  
  <p>
  <a href="Transport_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTransport.html">Transport</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>The Transport interface for SOAP envelop carrier.</em> <a href="classTransport.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Transport_8hpp.html#a0">_AXIS_TRANSPORT_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Transport.hpp::_AXIS_TRANSPORT_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_TRANSPORT_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00048">48</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8cpp-source.html
  
  Index: TypeMappingRegistry_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TypeMappingRegistry.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry.cpp</h1><a href="TypeMappingRegistry_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00048 
  00049 
  <a name="l00050"></a><a class="code" href="classTypeMappingRegistry.html#a0">00050</a> <a class="code" href="classTypeMappingRegistry.html#a0">TypeMappingRegistry::TypeMappingRegistry</a>()<font class="keyword"></font>
  00051 <font class="keyword"></font>{
  00052     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"int"</font>    )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;int&gt;</a>;
  00053     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"long"</font>   )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;long&gt;</a>;
  00054     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"short"</font>  )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;short&gt;</a>;
  00055     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"double"</font> )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;double&gt;</a>;
  00056     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"string"</font> )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;std::string&gt;</a>;
  00057     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"boolean"</font>)] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;bool&gt;</a>;
  00058     m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"byte"</font>   )] = <font class="keyword">new</font> <a class="code" href="classSOAPEncoding.html">SOAPEncoding&lt;char&gt;</a>;
  00059 }
  00060 
  <a name="l00061"></a><a class="code" href="classTypeMappingRegistry.html#a1">00061</a> <a class="code" href="classTypeMappingRegistry.html#a1">TypeMappingRegistry::~TypeMappingRegistry</a>()<font class="keyword"></font>
  00062 <font class="keyword"></font>{
  00063     TypeMap_t::iterator mapItr;
  00064 
  00065     <font class="keywordflow">for</font>(mapItr = m_MapRegistry.begin();mapItr != m_MapRegistry.end(); ++mapItr)
  00066         <font class="keyword">delete</font> mapItr-&gt;second;
  00067 
  00068 }
  00069 
  <a name="l00070"></a><a class="code" href="classTypeMappingRegistry.html#a3">00070</a> <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * <a class="code" href="classTypeMappingRegistry.html#a3">TypeMappingRegistry::GetSerializerFactory</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName)<font class="keyword"></font>
  00071 <font class="keyword"></font>{
  00072     <font class="keywordflow">return</font> m_MapRegistry[qName]; 
  00073 }
  00074 
  <a name="l00075"></a><a class="code" href="classTypeMappingRegistry.html#a2">00075</a> <font class="keywordtype">void</font> <a class="code" href="classTypeMappingRegistry.html#a2">TypeMappingRegistry::AddSerializerFactory</a>(<font class="keyword">const</font> std::string&amp; typname, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * ser)<font class="keyword"></font>
  00076 <font class="keyword"></font>{
  00077     <a class="code" href="classax_1_1QName.html">ax::QName</a> qName(ax::URI_CURRENT_SCHEMA_XSD, typname);
  00078     m_MapRegistry[qName] = ser;
  00079 }
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8cpp.html
  
  Index: TypeMappingRegistry_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TypeMappingRegistry.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  
  <p>
  <a href="TypeMappingRegistry_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8hpp-source.html
  
  Index: TypeMappingRegistry_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TypeMappingRegistry.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry.hpp</h1><a href="TypeMappingRegistry_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_TYPEMAPPINGREGISTRY_HPP)</font>
  <a name="l00047"></a><a class="code" href="TypeMappingRegistry_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_TYPEMAPPINGREGISTRY_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;utility&gt;</font>
  00050 <font class="preprocessor">#include &lt;map&gt;</font>
  00051 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00052 <font class="preprocessor">#include "<a class="code" href="SOAPEncoding_8hpp.html">SOAPEncoding.hpp</a>"</font>
  00053 
  00060 
  00061 
  <a name="l00062"></a><a class="code" href="classTypeMappingRegistry.html">00062</a> <font class="keyword">class </font><a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>  
  00063 {
  00064 <font class="keyword">public</font>:
  00065     <a class="code" href="classTypeMappingRegistry.html#a0">TypeMappingRegistry</a>();
  00066     <a class="code" href="classTypeMappingRegistry.html#a1">~TypeMappingRegistry</a>();
  00067 
  00069     <font class="keywordtype">void</font> <a class="code" href="classTypeMappingRegistry.html#a2">AddSerializerFactory</a>(<font class="keyword">const</font> std::string&amp; typname, <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * ser);
  00070 
  00072     <a class="code" href="classSerializerFactory.html">SerializerFactory</a> * <a class="code" href="classTypeMappingRegistry.html#a3">GetSerializerFactory</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName);
  00073 
  00074 <font class="keyword">private</font>:
  <a name="l00075"></a><a class="code" href="classTypeMappingRegistry.html#u0">00075</a>     <font class="keyword">typedef</font> std::map&lt;ax::QName, SerializerFactory *&gt; TypeMap_t;
  00076     
  <a name="l00077"></a><a class="code" href="classTypeMappingRegistry.html#o0">00077</a>     TypeMap_t m_MapRegistry;
  00078 
  00079 };
  00080 
  00081 <font class="preprocessor">#endif // _AXIS_TYPEMAPPINGREGISTRY_HPP</font>
  </font></pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/TypeMappingRegistry_8hpp.html
  
  Index: TypeMappingRegistry_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TypeMappingRegistry.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry.hpp File Reference</h1><code>#include &lt;utility&gt;</code><br>
  <code>#include &lt;map&gt;</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  <code>#include "<a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>"</code><br>
  
  <p>
  <a href="TypeMappingRegistry_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Registry for Type Mapping for the different encoding styles.</em> <a href="classTypeMappingRegistry.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="TypeMappingRegistry_8hpp.html#a0">_AXIS_TYPEMAPPINGREGISTRY_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="TypeMappingRegistry.hpp::_AXIS_TYPEMAPPINGREGISTRY_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_TYPEMAPPINGREGISTRY_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8hpp-source.html#l00047">47</a> of file <a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8cpp-source.html
  
  Index: Url_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Url.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url.cpp</h1><a href="Url_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="Url_8hpp.html">Url.hpp</a>"</font>
  00048 
  00049 
  <a name="l00050"></a><a class="code" href="classUrl.html#a0">00050</a> <a class="code" href="classUrl.html#a0">Url::Url</a>()
  00051     : m_Protocol(unknown), m_Port(0)<font class="keyword"></font>
  00052 <font class="keyword"></font>{
  00053 }
  00054 
  <a name="l00055"></a><a class="code" href="classUrl.html#a1">00055</a> <a class="code" href="classUrl.html#a0">Url::Url</a>(std::string url)<font class="keyword"></font>
  00056 <font class="keyword"></font>{
  00057     m_URL = url;
  00058     <font class="keywordflow">if</font>(isascii((<font class="keywordtype">int</font>)url.at(0)))
  00059     {
  00060         <font class="comment">// check this a valid URL</font>
  00061         <font class="keywordflow">if</font>((url.at(1) == (<font class="keywordtype">int</font>)<font class="charliteral">':'</font>) &amp;&amp;
  00062             ((url.at(2) == (<font class="keywordtype">int</font>)<font class="charliteral">'/'</font>) || (url.at(2) == (<font class="keywordtype">int</font>)<font class="charliteral">'\\'</font>)))
  00063             <font class="keywordflow">return</font>;
  00064         <font class="keywordflow">else</font> <font class="comment">// assume valid URL hence, proceed with finding entries</font>
  00065             <a class="code" href="classUrl.html#c0">ParseURL</a>(url);
  00066     }
  00067 }
  00068 
  <a name="l00069"></a><a class="code" href="classUrl.html#a2">00069</a> <a class="code" href="classUrl.html#a2">Url::~Url</a>()<font class="keyword"></font>
  00070 <font class="keyword"></font>{
  00071 
  00072 }
  00073 
  <a name="l00074"></a><a class="code" href="classUrl.html#a3">00074</a> <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a3">Url::SetProtocol</a>(std::string prot)<font class="keyword"></font>
  00075 <font class="keyword"></font>{
  00076     m_Port = 0;
  00077     <font class="keywordflow">if</font>(prot == <font class="stringliteral">"http"</font>)
  00078     {
  00079         m_Protocol = http;
  00080         m_Port = HTTP_PORT;
  00081     }
  00082     <font class="keywordflow">else</font> <font class="keywordflow">if</font>( prot == <font class="stringliteral">"file"</font>)
  00083     {
  00084         m_Protocol = file;
  00085     }
  00086     <font class="keywordflow">else</font> <font class="keywordflow">if</font>( prot == <font class="stringliteral">"ftp"</font>)
  00087     {
  00088         m_Protocol = ftp;
  00089         m_Port = FTP_PORT;
  00090     }
  00091     <font class="keywordflow">else</font> <font class="keywordflow">if</font>( prot == <font class="stringliteral">"https"</font>)
  00092     {
  00093 
  00094         m_Protocol = https;
  00095         m_Port = HTTPS_PORT;
  00096     }
  00097     <font class="keywordflow">else</font>
  00098         m_Protocol = unknown;
  00099 
  00100 }
  00101 
  <a name="l00102"></a><a class="code" href="classUrl.html#c0">00102</a> <font class="keywordtype">void</font> <a class="code" href="classUrl.html#c0">Url::ParseURL</a>(std::string&amp; url)<font class="keyword"></font>
  00103 <font class="keyword"></font>{
  00104     std::string::size_type begpos, pos;
  00105 
  00106     <font class="comment">// try to find out the protocol</font>
  00107     <font class="keywordflow">if</font>((pos = url.find(<font class="stringliteral">"://"</font>)) != std::string::npos)
  00108     {
  00109         <a class="code" href="classUrl.html#a3">SetProtocol</a>(url.substr(0, pos));
  00110         <font class="comment">// find m_Host name</font>
  00111         <font class="keywordflow">if</font>(m_Protocol != unknown)
  00112         {
  00113             url = url.substr(pos + 3); <font class="comment">// rest of the URL string</font>
  00114             begpos = pos = 0;
  00115             std::string key(<font class="stringliteral">":/?"</font>);
  00116             
  00117             <font class="keywordflow">while</font>(pos = url.find_first_of(key, begpos))
  00118             {
  00119                 <font class="keywordflow">if</font>(pos == std::string::npos) <font class="comment">// only host name found</font>
  00120                 {
  00121                     <font class="keywordflow">if</font>(m_Host.empty())
  00122                         m_Host = url;
  00123                     <font class="keywordflow">if</font> (key == <font class="stringliteral">"?"</font>) <font class="comment">// found path</font>
  00124                         m_Path = url.substr(begpos - 1);
  00125                     <font class="keywordflow">break</font>;
  00126                 }
  00127                 <font class="keywordflow">else</font>
  00128                     <font class="keywordflow">if</font>(pos == 0) <font class="keywordflow">break</font>;
  00129 
  00130                 <font class="keywordflow">switch</font>(url.at(pos))
  00131                 {
  00132                     <font class="keywordflow">case</font> <font class="charliteral">':'</font>: 
  00133                         <font class="keywordflow">if</font>(m_Host.empty())
  00134                             m_Host = url.substr(begpos, pos - begpos);
  00135                         pos++;
  00136                         begpos = pos;
  00137                         key = <font class="stringliteral">"/?"</font>; <font class="comment">// scan for the rest to get the path &amp; query</font>
  00138                         <font class="keywordflow">continue</font>;
  00139 
  00140                     <font class="keywordflow">case</font> <font class="charliteral">'/'</font>:
  00141                         <font class="keywordflow">if</font> (key == <font class="stringliteral">"/?"</font>) <font class="comment">// found port number</font>
  00142                         {
  00143                             m_Port = atoi(url.substr(begpos, pos - begpos + 1).c_str());
  00144                             <font class="keywordflow">if</font>(m_Host.empty())
  00145                                 m_Host = url.substr(0, begpos - 1);
  00146                         }
  00147                         <font class="keywordflow">else</font>
  00148                             m_Host = url.substr(0, pos);
  00149                         pos++;
  00150                         begpos = pos;
  00151                         key = <font class="stringliteral">"?"</font>;
  00152                         <font class="keywordflow">continue</font>;
  00153 
  00154                     <font class="keywordflow">case</font> <font class="charliteral">'?'</font>:
  00155                         <font class="comment">// not correctly supported</font>
  00156                         m_Query = url.substr(pos);
  00157                         <font class="keywordflow">break</font>;
  00158                 }   
  00159                 <font class="keywordflow">break</font>;
  00160             }                           
  00161         }
  00162     }
  00163 }
  00164 
  00165 
  00166 
  00167  
  00168                     
  00169 
  00170                     
  00171 
  00172 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8cpp.html
  
  Index: Url_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Url.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="Url_8hpp-source.html">Url.hpp</a>"</code><br>
  
  <p>
  <a href="Url_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8hpp-source.html
  
  Index: Url_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Url.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url.hpp</h1><a href="Url_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_URL_HPP)</font>
  <a name="l00047"></a><a class="code" href="Url_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_URL_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;string&gt;</font>
  00050 
  00051 <font class="comment">// Welknown ports</font>
  <a name="l00052"></a><a class="code" href="Url_8hpp.html#a1">00052</a> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> HTTP_PORT  = 80;   
  <a name="l00053"></a><a class="code" href="Url_8hpp.html#a2">00053</a> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> HTTPS_PORT = 443;
  <a name="l00054"></a><a class="code" href="Url_8hpp.html#a3">00054</a> <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> FTP_PORT   = 21;
  00055 
  00056 
  00074 
  00075 
  <a name="l00076"></a><a class="code" href="classUrl.html">00076</a> <font class="keyword">class </font><a class="code" href="classUrl.html">Url</a>  
  00077 {
  00078 <font class="keyword">public</font>:
  00079 
  <a name="l00080"></a><a class="code" href="classUrl.html#s5">00080</a>     <font class="keyword">enum</font> Protocol { http, https, ftp, file, unknown}; <font class="comment">// for our purpose currently we need</font>
  00081                                                       <font class="comment">// http, https only. This is provided</font>
  00082                                                       <font class="comment">// To make extensible to</font>
  00083                                                       <font class="comment">// support other transports for RPC</font>
  00084                                                       <font class="comment">// but file????, yes we may require </font>
  00085                                                       <font class="comment">// pipes; with web-service????</font>
  00086 
  00087 <font class="keyword">public</font>:
  00088     <a class="code" href="classUrl.html#a0">Url</a>();
  00089     <a class="code" href="classUrl.html#a0">Url</a>(std::string url);
  00090     <a class="code" href="classUrl.html#a2">~Url</a>();
  00091 
  00092     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a3">SetProtocol</a>(std::string prot);
  <a name="l00093"></a><a class="code" href="classUrl.html#a4">00093</a>     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a3">SetProtocol</a>(Protocol prot)<font class="keyword"></font>{m_Protocol = prot;}
  <a name="l00094"></a><a class="code" href="classUrl.html#a5">00094</a>     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a5">SetHostName</a>(std::string host)<font class="keyword"></font>{m_Host= host;}
  <a name="l00095"></a><a class="code" href="classUrl.html#a6">00095</a>     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a6">SetResource</a>(std::string path)<font class="keyword"></font>{m_Path = path;}
  <a name="l00096"></a><a class="code" href="classUrl.html#a7">00096</a>     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#a7">SetPort</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> port)<font class="keyword"></font>{m_Port = port;}
  00097 
  <a name="l00098"></a><a class="code" href="classUrl.html#a8">00098</a>     Protocol    <a class="code" href="classUrl.html#a8">GetProtocol</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Protocol;}
  <a name="l00099"></a><a class="code" href="classUrl.html#a9">00099</a>     std::string <a class="code" href="classUrl.html#a9">GetHostName</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Host;}
  <a name="l00100"></a><a class="code" href="classUrl.html#a10">00100</a>     std::string <a class="code" href="classUrl.html#a10">GetResource</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Path;}
  00101 
  <a name="l00102"></a><a class="code" href="classUrl.html#a11">00102</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font> <a class="code" href="classUrl.html#a11">GetPort</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_Port;}
  00103 
  00104     <font class="comment">// other functions are not supported yet</font>
  00105 
  00106 <font class="keyword">private</font>:
  00107 
  00108     <font class="keywordtype">void</font> <a class="code" href="classUrl.html#c0">ParseURL</a>(std::string&amp; url);
  00109     
  <a name="l00110"></a><a class="code" href="classUrl.html#o0">00110</a>     Protocol        m_Protocol;
  <a name="l00111"></a><a class="code" href="classUrl.html#o1">00111</a>     std::string     m_Host;
  <a name="l00112"></a><a class="code" href="classUrl.html#o2">00112</a>     <font class="keywordtype">unsigned</font> <font class="keywordtype">short</font>  m_Port;
  <a name="l00113"></a><a class="code" href="classUrl.html#o3">00113</a>     std::string     m_Path;
  <a name="l00114"></a><a class="code" href="classUrl.html#o4">00114</a>     std::string     m_Query;
  00115 
  <a name="l00116"></a><a class="code" href="classUrl.html#o5">00116</a>     std::string m_Password;
  <a name="l00117"></a><a class="code" href="classUrl.html#o6">00117</a>     std::string m_User;
  <a name="l00118"></a><a class="code" href="classUrl.html#o7">00118</a>     std::string m_URL;
  00119 };
  00120 
  00121 <font class="preprocessor">#endif // _AXIS_URL_HPP</font>
  00122 <font class="preprocessor"></font>
  00123 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/Url_8hpp.html
  
  Index: Url_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Url.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url.hpp File Reference</h1><code>#include &lt;string&gt;</code><br>
  
  <p>
  <a href="Url_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classUrl.html">Url</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Manupulate URLs.</em> <a href="classUrl.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="Url_8hpp.html#a0">_AXIS_URL_HPP</a></td></tr>
  <tr><td colspan=2><br><h2>Variables</h2></td></tr>
  <tr><td nowrap align=right valign=top>const unsigned short&nbsp;</td><td valign=bottom><a class="el" href="Url_8hpp.html#a1">HTTP_PORT</a> = 80</td></tr>
  <tr><td nowrap align=right valign=top>const unsigned short&nbsp;</td><td valign=bottom><a class="el" href="Url_8hpp.html#a2">HTTPS_PORT</a> = 443</td></tr>
  <tr><td nowrap align=right valign=top>const unsigned short&nbsp;</td><td valign=bottom><a class="el" href="Url_8hpp.html#a3">FTP_PORT</a> = 21</td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="Url.hpp::_AXIS_URL_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_URL_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00047">47</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Variable Documentation</h2>
  <a name="a3" doxytag="Url.hpp::FTP_PORT"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const unsigned short FTP_PORT = 21
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00054">54</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="Url.hpp::HTTPS_PORT"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const unsigned short HTTPS_PORT = 443
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00053">53</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Url.hpp::HTTP_PORT"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const unsigned short HTTP_PORT = 80
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00052">52</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8cpp-source.html
  
  Index: XMLDeSerializer_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLDeSerializer.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer.cpp</h1><a href="XMLDeSerializer_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00045 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00046 <font class="preprocessor">#include &lt;cstdio&gt;</font>
  00047 <font class="preprocessor">#include "<a class="code" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a>"</font>
  00048 
  00049 <font class="preprocessor">#include &lt;util/PlatformUtils.hpp&gt;</font>
  00050 <font class="preprocessor">#include &lt;util/XMLUniDefs.hpp&gt;</font>
  00051 <font class="preprocessor">#include &lt;util/XMLException.hpp&gt;</font>
  00052 <font class="preprocessor">#include &lt;util/TranscodingException.hpp&gt;</font>
  00053 <font class="preprocessor">#include &lt;dom/DOM_DOMException.hpp&gt;</font>
  00054 <font class="preprocessor">#include &lt;parsers/DOMParser.hpp&gt;</font>
  00055 <font class="preprocessor">#include &lt;framework/MemBufInputSource.hpp&gt;</font>
  00056 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00057 
  00058 
  <a name="l00059"></a><a class="code" href="classXMLDeSerializer.html#a0">00059</a> <a class="code" href="classXMLDeSerializer.html#a0">XMLDeSerializer::XMLDeSerializer</a>(<font class="keyword">const</font> std::string&amp; p_Msg) : m_pTypeMapper(0)
  00060 {
  00061     <font class="keywordflow">try</font>
  00062     {
  00063         XMLPlatformUtils::Initialize();
  00064     }
  00065     <font class="keywordflow">catch</font> (<font class="keyword">const</font> XMLException&amp; )
  00066     {
  00067         <font class="comment">//TODO: need to handle exception </font>
  00068     }
  00069 
  00070     parser = <font class="keyword">new</font> DOMParser;
  00071     parser-&gt;setValidationScheme(DOMParser::Val_Auto);
  00072     parser-&gt;setDoNamespaces(<font class="keyword">true</font>);
  00073     parser-&gt;setDoSchema(<font class="keyword">false</font>);
  00074     parser-&gt;setValidationSchemaFullChecking(<font class="keyword">false</font>);
  00075     errReporter = <font class="keyword">new</font> ParseErrorHandler();
  00076     parser-&gt;setErrorHandler(errReporter);
  00077     parser-&gt;setCreateEntityReferenceNodes(<font class="keyword">false</font>);
  00078     parser-&gt;setToCreateXMLDeclTypeNode(<font class="keyword">true</font>);
  00079 
  00080     MemBufInputSource* memBufIS = <font class="keyword">new</font> MemBufInputSource ((<font class="keyword">const</font> XMLByte*) p_Msg.c_str(),
  00081                                                           p_Msg.size(), <font class="stringliteral">"msg"</font>, <font class="keyword">false</font>);
  00082     <font class="keywordtype">bool</font> errorsOccured = <font class="keyword">false</font>;
  00083     <font class="keywordflow">try</font>
  00084     {
  00085         parser-&gt;parse(*memBufIS);
  00086         <font class="keywordtype">int</font> errorCount = parser-&gt;getErrorCount();
  00087         <font class="keywordflow">if</font> (errorCount &gt; 0)
  00088         {
  00089             errorsOccured = <font class="keyword">true</font>;
  00090             m_pCurNode = NULL;
  00091         }
  00092     }
  00093     <font class="keywordflow">catch</font> (<font class="keyword">const</font> XMLException&amp; e)
  00094     {
  00095         <font class="comment">//TODO: need to handle exception </font>
  00096         std::cerr &lt;&lt; <font class="stringliteral">"An error occured during parsing\n   Message: "</font>
  00097             &lt;&lt; DOMString(e.getMessage()).transcode() &lt;&lt; std::endl;
  00098         errorsOccured = <font class="keyword">true</font>;
  00099     }
  00100     <font class="keywordflow">catch</font> (<font class="keyword">const</font> DOM_DOMException&amp; e)
  00101     {
  00102         <font class="comment">//TODO: need to handle exception </font>
  00103         std::cerr &lt;&lt; <font class="stringliteral">"A DOM error occured during parsing\n   DOMException code: "</font>
  00104             &lt;&lt; e.code &lt;&lt; std::endl;
  00105         errorsOccured = <font class="keyword">true</font>;
  00106     }
  00107     <font class="keywordflow">catch</font> (...)
  00108     {
  00109         <font class="comment">//TODO: need to handle exception </font>
  00110         std::cerr &lt;&lt; <font class="stringliteral">"An error occured during parsing\n "</font> &lt;&lt; std::endl;
  00111         errorsOccured = <font class="keyword">true</font>;
  00112     }
  00113 
  00114 
  00115     <font class="keywordflow">if</font>(!errorsOccured)
  00116     {
  00117         m_pCurNode = parser-&gt;getDocument();
  00118     }
  00119     <font class="keywordflow">else</font>
  00120         m_pCurNode = NULL;
  00121 }
  00122 
  00123 
  <a name="l00124"></a><a class="code" href="classXMLDeSerializer.html#a1">00124</a> <a class="code" href="classXMLDeSerializer.html#a1">XMLDeSerializer::~XMLDeSerializer</a>()<font class="keyword"></font>
  00125 <font class="keyword"></font>{
  00126      <font class="comment">// call the termination method</font>
  00127     XMLPlatformUtils::Terminate();
  00128 }
  00129 
  00130 
  <a name="l00131"></a><a class="code" href="classXMLDeSerializer.html#a2">00131</a> <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a2">XMLDeSerializer::DeSerialize</a>(<a class="code" href="classMessageElement.html">MessageElement</a>&amp; p_Elm)<font class="keyword"></font>
  00132 <font class="keyword"></font>{
  00133     std::string strQName = <a class="code" href="classXMLDeSerializer.html#a5">QNameToStr</a>(p_Elm.<a class="code" href="classMessageElement.html#a9">GetElmQName</a>());
  00134     DOM_NodeList list = ((DOM_Document&amp;)m_pCurNode).getElementsByTagName(strQName.c_str());
  00135 
  00136     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> nNodeCnt = list.getLength();
  00137 
  00138     <font class="keywordflow">for</font>(<font class="keywordtype">int</font> i=0;i&lt;nNodeCnt;i++)
  00139     {
  00140         DOM_Element data = (<font class="keyword">const</font> DOM_Element&amp;) list.item(i);
  00141     
  00142         DOM_Node child;
  00143         <font class="keywordflow">for</font> (child=data.getFirstChild(); child != 0; child= child.getNextSibling())
  00144         {
  00145             <font class="keywordflow">if</font>(child.getNodeType() == DOM_Node::ELEMENT_NODE)
  00146                 p_Elm.<a class="code" href="classMessageElement.html#a8">AddMsgElement</a>((DOM_Element&amp;)child);
  00147         }
  00148     }
  00149 }
  00150 
  00151 
  <a name="l00152"></a><a class="code" href="classXMLDeSerializer.html#a6">00152</a> <a class="code" href="classax_1_1QName.html">ax::QName</a> <a class="code" href="classXMLDeSerializer.html#a6">XMLDeSerializer::GetQNameFromStr</a>(std::string strQName)<font class="keyword"></font>
  00153 <font class="keyword"></font>{
  00154     std::string::size_type pos = strQName.find(<font class="charliteral">':'</font>);
  00155     <font class="keywordflow">if</font> (pos == std::string::npos) <font class="keywordflow">return</font> ax::QName();
  00156     
  00157     std::string nsURI = m_nsStk.<a class="code" href="classNsStack.html#a6">GetNamespaceURI</a>(strQName.substr(0, pos));
  00158     
  00159     <font class="keywordflow">return</font> ax::QName(nsURI, strQName.substr(++pos));
  00160 }
  00161 
  <a name="l00162"></a><a class="code" href="classXMLDeSerializer.html#a4">00162</a> <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a4">XMLDeSerializer::RegisterPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; prefix, <font class="keyword">const</font> std::string&amp; uri)<font class="keyword"></font>
  00163 <font class="keyword"></font>{
  00164     m_nsStk.<a class="code" href="classNsStack.html#a1">Add</a>(uri, prefix);
  00165 }
  00166 
  <a name="l00167"></a><a class="code" href="classXMLDeSerializer.html#a5">00167</a> std::string <a class="code" href="classXMLDeSerializer.html#a5">XMLDeSerializer::QNameToStr</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName)<font class="keyword"></font>
  00168 <font class="keyword"></font>{
  00169     std::string prefix = m_nsStk.<a class="code" href="classNsStack.html#a5">GetPrefix</a>(qName.<a class="code" href="classax_1_1QName.html#a8">GetNsURI</a>());
  00170     <font class="keywordflow">return</font> ((!prefix.empty())?(prefix + <font class="stringliteral">":"</font>): std::string(<font class="stringliteral">""</font>)) + qName.<a class="code" href="classax_1_1QName.html#a9">GetLocalPart</a>();
  00171 }
  00172 
  <a name="l00173"></a><a class="code" href="classParseErrorHandler.html#a1">00173</a> <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a1">ParseErrorHandler::error</a>(<font class="keyword">const</font> SAXParseException&amp; e)<font class="keyword"></font>
  00174 <font class="keyword"></font>{
  00175     <font class="comment">//TODO: need to handle errors </font>
  00176     fprintf(stderr, <font class="stringliteral">"\nError at file \"%s\", line %d, char %d:  %s\n"</font>,
  00177         XMLString::transcode(e.getSystemId()), e.getLineNumber(),
  00178         e.getColumnNumber(), XMLString::transcode(e.getMessage()));
  00179     <font class="keywordflow">throw</font> e;
  00180 
  00181 };
  00182 
  <a name="l00183"></a><a class="code" href="classParseErrorHandler.html#a2">00183</a> <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a2">ParseErrorHandler::fatalError</a>(<font class="keyword">const</font> SAXParseException&amp; e)<font class="keyword"></font>
  00184 <font class="keyword"></font>{
  00185     <font class="comment">//TODO: need to handle errors </font>
  00186     fprintf(stderr, <font class="stringliteral">"\nFatal Error at file \"%s\", line %d, char %d:  %s\n"</font>,
  00187         XMLString::transcode(e.getSystemId()), e.getLineNumber(),
  00188         e.getColumnNumber(), XMLString::transcode(e.getMessage()));
  00189     <font class="keywordflow">throw</font> e;
  00190 };
  00191 
  <a name="l00192"></a><a class="code" href="classParseErrorHandler.html#a0">00192</a> <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a0">ParseErrorHandler::warning</a>(<font class="keyword">const</font> SAXParseException&amp; e)<font class="keyword"></font>
  00193 <font class="keyword"></font>{
  00194     <font class="comment">//TODO: need to handle errors </font>
  00195     fprintf(stderr, <font class="stringliteral">"\nWarning at file \"%s\", line %d, char %d:  %s\n"</font>,
  00196         XMLString::transcode(e.getSystemId()), e.getLineNumber(),
  00197         e.getColumnNumber(), XMLString::transcode(e.getMessage()));
  00198     <font class="keywordflow">throw</font> e;
  00199 
  00200 };
  00201 
  00202 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8cpp.html
  
  Index: XMLDeSerializer_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLDeSerializer.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  <code>#include &lt;cstdio&gt;</code><br>
  <code>#include "<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>"</code><br>
  <code>#include &lt;util/PlatformUtils.hpp&gt;</code><br>
  <code>#include &lt;util/XMLUniDefs.hpp&gt;</code><br>
  <code>#include &lt;util/XMLException.hpp&gt;</code><br>
  <code>#include &lt;util/TranscodingException.hpp&gt;</code><br>
  <code>#include &lt;dom/DOM_DOMException.hpp&gt;</code><br>
  <code>#include &lt;parsers/DOMParser.hpp&gt;</code><br>
  <code>#include &lt;framework/MemBufInputSource.hpp&gt;</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  
  <p>
  <a href="XMLDeSerializer_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8hpp-source.html
  
  Index: XMLDeSerializer_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLDeSerializer.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer.hpp</h1><a href="XMLDeSerializer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_XML_DESERIALIZER_H)</font>
  <a name="l00047"></a><a class="code" href="XMLDeSerializer_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_XML_DESERIALIZER_H</font>
  00048 <font class="preprocessor"></font>
  00049 
  00050 <font class="preprocessor">#include "<a class="code" href="MessageElement_8hpp.html">MessageElement.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;dom/DOM.hpp&gt;</font>
  00052 <font class="preprocessor">#include &lt;sax/SAXException.hpp&gt;</font>
  00053 <font class="preprocessor">#include &lt;sax/ErrorHandler.hpp&gt;</font>
  00054 <font class="preprocessor">#include &lt;sax/SAXParseException.hpp&gt;</font>
  00055 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00056 <font class="preprocessor">#include "<a class="code" href="NsStack_8hpp.html">NsStack.hpp</a>"</font>
  00057 
  00058 
  00059 
  00060 <font class="keyword">class  </font><a class="code" href="classParseErrorHandler.html">ParseErrorHandler</a>;
  00061 <font class="keyword">class  </font><a class="code" href="classMessageElement.html">MessageElement</a>;
  00062 <font class="keyword">class  </font><a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>;
  00063 
  00064 
  00065 
  00075 
  <a name="l00076"></a><a class="code" href="classXMLDeSerializer.html">00076</a> <font class="keyword">class </font><a class="code" href="classXMLDeSerializer.html">XMLDeSerializer</a>
  00077 {
  00078 <font class="keyword">public</font>:
  00080     <a class="code" href="classXMLDeSerializer.html#a0">XMLDeSerializer</a>(<font class="keyword">const</font> std::string&amp; p_Msg);
  00081     <a class="code" href="classXMLDeSerializer.html#a1">~XMLDeSerializer</a>();
  00082 
  00084     <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a2">DeSerialize</a>(<a class="code" href="classMessageElement.html">MessageElement</a>&amp; p_Elm);
  00085 
  <a name="l00087"></a><a class="code" href="classXMLDeSerializer.html#a3">00087</a>     <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a3">SetContext</a>(DOM_Node&amp;  p_CurNode)<font class="keyword"></font>{m_pCurNode = p_CurNode;}
  00088 
  00090     <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a4">RegisterPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; prefix, <font class="keyword">const</font> std::string&amp; uri);
  00091 
  00093     std::string <a class="code" href="classXMLDeSerializer.html#a5">QNameToStr</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName);
  00094 
  00096     <a class="code" href="classax_1_1QName.html">ax::QName</a> <a class="code" href="classXMLDeSerializer.html#a6">GetQNameFromStr</a>(std::string strQName);
  00097 
  <a name="l00099"></a><a class="code" href="classXMLDeSerializer.html#a7">00099</a>     <font class="keywordtype">void</font> <a class="code" href="classXMLDeSerializer.html#a7">SetTypeMappingRegistry</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper)<font class="keyword"></font>{m_pTypeMapper = p_TypMapper;}
  00100 
  <a name="l00102"></a><a class="code" href="classXMLDeSerializer.html#a8">00102</a>     <a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <a class="code" href="classXMLDeSerializer.html#a8">GetTypeMapper</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_pTypeMapper;}
  00103 
  00104 
  00105 
  00106 <font class="keyword">private</font>:
  00107 
  <a name="l00108"></a><a class="code" href="classXMLDeSerializer.html#o0">00108</a>     <a class="code" href="classNsStack.html">NsStack</a> m_nsStk;                    
  00109 
  <a name="l00110"></a><a class="code" href="classXMLDeSerializer.html#o1">00110</a>     DOM_Node  m_pCurNode;               
  00111 
  <a name="l00112"></a><a class="code" href="classXMLDeSerializer.html#o2">00112</a>     DOMParser *parser;                  
  <a name="l00113"></a><a class="code" href="classXMLDeSerializer.html#o3">00113</a>     <a class="code" href="classParseErrorHandler.html">ParseErrorHandler</a> *errReporter;     
  00114     
  <a name="l00115"></a><a class="code" href="classXMLDeSerializer.html#o4">00115</a>     <a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *m_pTypeMapper; 
  00116 };
  00117 
  00118 
  00119 
  00120 
  00124 
  <a name="l00125"></a><a class="code" href="classParseErrorHandler.html">00125</a> <font class="keyword">class  </font><a class="code" href="classParseErrorHandler.html">ParseErrorHandler</a>: <font class="keyword">public</font> <a class="code" href="classErrorHandler.html">ErrorHandler</a>
  00126 {
  00127 <font class="keyword">public</font>:
  00128     <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a0">warning</a>(<font class="keyword">const</font> SAXParseException&amp; e);
  00129     <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a1">error</a>(<font class="keyword">const</font> SAXParseException&amp; e);
  00130     <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a2">fatalError</a>(<font class="keyword">const</font> SAXParseException&amp; e);
  <a name="l00131"></a><a class="code" href="classParseErrorHandler.html#a3">00131</a>     <font class="keywordtype">void</font> <a class="code" href="classParseErrorHandler.html#a3">resetErrors</a>()<font class="keyword"> </font>{};
  00132 
  00133 };
  00134 
  00135 
  00136 <font class="preprocessor">#endif //_AXIS_XML_DESERIALIZER_H</font>
  00137 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLDeSerializer_8hpp.html
  
  Index: XMLDeSerializer_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLDeSerializer.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer.hpp File Reference</h1><code>#include "<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>"</code><br>
  <code>#include &lt;dom/DOM.hpp&gt;</code><br>
  <code>#include &lt;sax/SAXException.hpp&gt;</code><br>
  <code>#include &lt;sax/ErrorHandler.hpp&gt;</code><br>
  <code>#include &lt;sax/SAXParseException.hpp&gt;</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>"</code><br>
  
  <p>
  <a href="XMLDeSerializer_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAP Envelop deserialiser.</em> <a href="classXMLDeSerializer.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="XMLDeSerializer_8hpp.html#a0">_AXIS_XML_DESERIALIZER_H</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="XMLDeSerializer.hpp::_AXIS_XML_DESERIALIZER_H"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_XML_DESERIALIZER_H
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00047">47</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8cpp-source.html
  
  Index: XMLSerializer_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLSerializer.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer.cpp</h1><a href="XMLSerializer_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00046 <font class="preprocessor">#include "<a class="code" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="AttList_8hpp.html">AttList.hpp</a>"</font>
  00048 <font class="preprocessor">#include "<a class="code" href="XercescConst_8hpp.html">XercescConst.hpp</a>"</font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a>"</font>
  00051 <font class="preprocessor">#include &lt;cstdio&gt;</font>
  00052 
  00053 
  00054 
  00055 std::ostream&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt;</a>(std::ostream&amp; p_OutStr, <font class="keyword">const</font> DOMString&amp; p_dmNode);
  00056 std::ostream&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt;</a>(std::ostream&amp; p_OutStr, DOM_Node&amp; p_dmNode);
  00057 XMLFormatter&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt; </a>(XMLFormatter&amp; p_xmlFmt, <font class="keyword">const</font> DOMString&amp; p_dmStr);
  00058 
  <a name="l00059"></a><a class="code" href="XMLSerializer_8cpp.html#a0">00059</a> XMLFormatter* Xml_Formatter=NULL;
  <a name="l00060"></a><a class="code" href="XMLSerializer_8cpp.html#a1">00060</a> XMLCh* Encoding_Name=NULL;
  00061 <font class="keyword">static</font> <font class="keywordtype">int</font> m_nIndent=-1;
  00062 
  00063 
  00064 
  00065 
  <a name="l00066"></a><a class="code" href="classXMLSerializer.html#a0">00066</a> <a class="code" href="classXMLSerializer.html#a0">XMLSerializer::XMLSerializer</a>(<a class="code" href="classXmlWriter.html">XmlWriter</a>&amp; str)
  00067     : m_bStartDoc(true), m_nIndent(0), m_PrefixIndx(1), 
  00068       m_xmlBuffer(&amp;str), m_pTypeMapper(0)
  00069 {
  00070     <font class="keywordflow">try</font>
  00071     {
  00072         XMLPlatformUtils::Initialize();
  00073     }
  00074     <font class="keywordflow">catch</font>(<font class="keyword">const</font> XMLException&amp; ex)
  00075     {
  00076         <font class="keywordtype">char</font> *pchMsg = XMLString::transcode(ex.getMessage());
  00077         std::cerr &lt;&lt; <font class="stringliteral">"Error during Xerces-c Initialization.\n"</font>
  00078                   &lt;&lt; <font class="stringliteral">"  Exception message:"</font>
  00079                   &lt;&lt; pchMsg;
  00080         <font class="keyword">delete</font> pchMsg;
  00081     }
  00082 }
  00083 
  <a name="l00084"></a><a class="code" href="classXMLSerializer.html#a1">00084</a> <a class="code" href="classXMLSerializer.html#a1">XMLSerializer::~XMLSerializer</a>()<font class="keyword"></font>
  00085 <font class="keyword"></font>{
  00086     XMLPlatformUtils::Terminate();
  00087 }
  00088 
  00089 
  <a name="l00090"></a><a class="code" href="classXMLSerializer.html#a8">00090</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a8">XMLSerializer::StartElem</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList)<font class="keyword"></font>
  00091 <font class="keyword"></font>{
  00092     <font class="comment">// Start writing XML document</font>
  00093     <font class="keywordflow">if</font>(m_bStartDoc)
  00094     {
  00095         m_Doc = DOM_Document::createDocument(); 
  00096         m_Doc.appendChild(m_Doc.createXMLDecl (<font class="stringliteral">"1.0"</font>,  <font class="stringliteral">"UTF-8"</font>, <font class="stringliteral">""</font>));
  00097         m_CurNode = m_Doc;
  00098         <a class="code" href="classXMLSerializer.html#a11">Append</a>(p_qName, p_attList);
  00099         m_CurNode = m_Doc.getDocumentElement();
  00100         m_bStartDoc = <font class="keyword">false</font>;
  00101         <font class="keywordflow">return</font>;
  00102     }
  00103 
  00104     m_CurNode = <a class="code" href="classXMLSerializer.html#a11">Append</a>(p_qName, p_attList);
  00105 }
  00106 
  00107 
  <a name="l00108"></a><a class="code" href="classXMLSerializer.html#a11">00108</a> DOM_Element&amp; <a class="code" href="classXMLSerializer.html#a11">XMLSerializer::Append</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList)<font class="keyword"></font>
  00109 <font class="keyword"></font>{
  00110     std::string qName = <a class="code" href="classXMLSerializer.html#a5">QNameToStr</a>(p_qName);
  00111     m_ChildElm = m_Doc.createElement(qName.c_str());
  00112 
  00113     <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i &lt; p_attList.<a class="code" href="classAttList.html#a2">getLength</a>(); i++) 
  00114     {
  00115         m_ChildElm.setAttribute(p_attList.<a class="code" href="classAttList.html#a3">getName</a>(i).c_str(), 
  00116                                 p_attList.<a class="code" href="classAttList.html#a4">getValue</a>(i).c_str());
  00117     }
  00118     
  00119     <a class="code" href="classNsMap.html">NsMap</a> *CurMap = m_nsStk.<a class="code" href="classNsStack.html#a3">Peek</a>();
  00120     <font class="keywordflow">if</font>(CurMap)
  00121     {
  00122         NsMap::iterator mpIter;
  00123         <font class="keywordflow">for</font> (mpIter = CurMap-&gt;begin(); mpIter != CurMap-&gt;end(); ++mpIter) 
  00124         {
  00125             <font class="keywordflow">if</font>(mpIter-&gt;first.empty()) <font class="keywordflow">continue</font>;
  00126             std::string  strQName = std::string(<font class="stringliteral">"xmlns"</font>) + <font class="stringliteral">":"</font> + mpIter-&gt;second;
  00127             m_ChildElm.setAttributeNS(ax::NS_URI_XMLNS.c_str(), strQName.c_str(),
  00128                                         mpIter-&gt;first.c_str());
  00129                                         
  00130         }
  00131         m_nsStk.<a class="code" href="classNsStack.html#a2">Push</a>();
  00132     }
  00133     
  00134     m_CurNode.appendChild(m_ChildElm);
  00135     <font class="keywordflow">return</font> m_ChildElm;
  00136 }
  00137 
  00138 
  <a name="l00139"></a><a class="code" href="classXMLSerializer.html#a10">00139</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a10">XMLSerializer::WriteStr</a>(<font class="keyword">const</font> std::string&amp; str)<font class="keyword"></font>
  00140 <font class="keyword"></font>{
  00141     m_CurTxtElm = m_Doc.createTextNode(str.c_str());
  00142     m_ChildElm.appendChild(m_CurTxtElm);
  00143 }
  00144 
  <a name="l00145"></a><a class="code" href="classXMLSerializer.html#a9">00145</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a9">XMLSerializer::EndElem</a>()<font class="keyword"></font>
  00146 <font class="keyword"></font>{
  00147     m_nsStk.<a class="code" href="classNsStack.html#a4">Pop</a>();
  00148     <font class="keywordflow">return</font>;
  00149 }
  00150 
  <a name="l00151"></a><a class="code" href="classXMLSerializer.html#a12">00151</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a12">XMLSerializer::Serialize</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a> p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList, <font class="keyword">const</font> <font class="keywordtype">char</font>* value)<font class="keyword"></font>
  00152 <font class="keyword"></font>{
  00153     m_ChildElm = <a class="code" href="classXMLSerializer.html#a11">Append</a>(p_qName, p_attList);
  00154     <a class="code" href="classXMLSerializer.html#a10">WriteStr</a>(std::string(value));
  00155 }
  00156 
  <a name="l00157"></a><a class="code" href="classXMLSerializer.html#a2">00157</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a2">XMLSerializer::RegisterPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; prefix, <font class="keyword">const</font> std::string&amp; uri)<font class="keyword"></font>
  00158 <font class="keyword"></font>{
  00159     m_nsStk.<a class="code" href="classNsStack.html#a1">Add</a>(uri, prefix);
  00160 }
  00161 
  <a name="l00162"></a><a class="code" href="classXMLSerializer.html#a3">00162</a> std::string <a class="code" href="classXMLSerializer.html#a3">XMLSerializer::GetPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; uri)<font class="keyword"></font>
  00163 <font class="keyword"></font>{
  00164     <font class="keywordtype">char</font> buf[10];
  00165     sprintf(buf, <font class="stringliteral">"%d"</font>, m_PrefixIndx++);
  00166     <font class="keywordflow">return</font> <a class="code" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(uri, <font class="stringliteral">"ns"</font> + std::string(buf));
  00167 }
  00168 
  <a name="l00169"></a><a class="code" href="classXMLSerializer.html#a4">00169</a> std::string <a class="code" href="classXMLSerializer.html#a3">XMLSerializer::GetPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; uri, std::string defaultPrefix)<font class="keyword"></font>
  00170 <font class="keyword"></font>{
  00171     <font class="keywordflow">if</font> (uri.empty()) 
  00172         <font class="keywordflow">return</font> std::string(<font class="stringliteral">""</font>);
  00173 
  00174     std::string prefix = m_nsStk.<a class="code" href="classNsStack.html#a5">GetPrefix</a>(uri);
  00175 
  00176     <font class="keywordflow">if</font> (prefix.empty() &amp;&amp; uri == ax::URI_SOAP_ENC)
  00177     {
  00178         prefix = ax::NSPREFIX_SOAP_ENC;
  00179         <a class="code" href="classXMLSerializer.html#a2">RegisterPrefixForURI</a>(prefix, uri);
  00180     }
  00181 
  00182     <font class="keywordflow">if</font> (prefix.empty()) 
  00183     {
  00184         prefix = defaultPrefix;
  00185         <a class="code" href="classXMLSerializer.html#a2">RegisterPrefixForURI</a>(prefix, uri);
  00186     }
  00187 
  00188     <font class="keywordflow">return</font> prefix; 
  00189 }
  00190 
  <a name="l00191"></a><a class="code" href="classXMLSerializer.html#a5">00191</a> std::string <a class="code" href="classXMLSerializer.html#a5">XMLSerializer::QNameToStr</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName)<font class="keyword"></font>
  00192 <font class="keyword"></font>{
  00193     std::string prefix = <a class="code" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(qName.<a class="code" href="classax_1_1QName.html#a8">GetNsURI</a>());
  00194     <font class="keywordflow">return</font> ((!prefix.empty())?(prefix + <font class="stringliteral">":"</font>): std::string(<font class="stringliteral">""</font>)) + qName.<a class="code" href="classax_1_1QName.html#a9">GetLocalPart</a>();
  00195 }
  00196 
  00197 
  <a name="l00198"></a><a class="code" href="classXMLSerializer.html#a13">00198</a> <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a13">XMLSerializer::flush</a>()<font class="keyword"></font>
  00199 <font class="keyword"></font>{
  00200     std::ostream p_OutStr(m_xmlBuffer-&gt;rdbuf());
  00201     <a class="code" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>* fmtTarget = <font class="keyword">new</font> SOAPEnvelopFormatter(p_OutStr);
  00202 
  00203     DOMString xmlEncCharset(<font class="stringliteral">"UTF-8"</font>);
  00204     DOM_Node dmNode = m_Doc.getFirstChild();
  00205 
  00206     <font class="comment">// Check whether this is a declaration Node </font>
  00207     <font class="keywordflow">if</font> (dmNode.getNodeType() == DOM_Node::XML_DECL_NODE)
  00208     {
  00209         DOMString strTmp = ((DOM_XMLDecl &amp;)dmNode).getEncoding();
  00210         <font class="keywordflow">if</font> (strTmp != <font class="stringliteral">""</font>)
  00211         {
  00212             xmlEncCharset = strTmp;
  00213         }
  00214     }
  00215 
  00216     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> lent = xmlEncCharset.length();
  00217     Encoding_Name     = <font class="keyword">new</font> XMLCh[lent + 1];
  00218 
  00219     XMLString::copyNString(Encoding_Name, xmlEncCharset.rawBuffer(), lent);
  00220     Encoding_Name[lent] = 0;
  00221 
  00222     <font class="keywordflow">try</font>
  00223     {
  00224         Xml_Formatter = <font class="keyword">new</font> XMLFormatter(Encoding_Name, fmtTarget, XMLFormatter::NoEscapes, 
  00225                                          XMLFormatter::UnRep_CharRef);
  00226         p_OutStr &lt;&lt; m_Doc;
  00227         *Xml_Formatter &lt;&lt; chLF; <font class="comment">// add linefeed in requested output encoding</font>
  00228     }
  00229     <font class="keywordflow">catch</font> (XMLException&amp; e)
  00230     {
  00231         std::cerr &lt;&lt; <font class="stringliteral">"An error occurred during creation of output transcoder. Msg is:"</font>
  00232                   &lt;&lt; DOMString(e.getMessage()) &lt;&lt; std::endl;
  00233     }
  00234 
  00235     <font class="keyword">delete</font> fmtTarget;
  00236     <font class="keyword">delete</font> Xml_Formatter;
  00237 }
  00238 
  00239 
  00240 
  <a name="l00241"></a><a class="code" href="XMLSerializer_8cpp.html#a4">00241</a> std::ostream&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt;</a>(std::ostream&amp; p_OutStr, DOM_Node&amp; p_dmNode)<font class="keyword"></font>
  00242 <font class="keyword"></font>{
  00243     <font class="comment">// Get the name and value out for convenience</font>
  00244     DOMString   nodeName  = p_dmNode.getNodeName();
  00245     DOMString   nodeValue = p_dmNode.getNodeValue();
  00246     <font class="keywordtype">unsigned</font> <font class="keywordtype">long</font> lent = nodeValue.length();
  00247 
  00248     <font class="keywordflow">switch</font> (p_dmNode.getNodeType())
  00249     {
  00250         <font class="keywordflow">case</font> DOM_Node::TEXT_NODE:
  00251         {
  00252             Xml_Formatter-&gt;formatBuf(nodeValue.rawBuffer(), lent, XMLFormatter::CharEscapes);
  00253             <font class="keywordflow">break</font>;
  00254         }
  00255 
  00256         <font class="keywordflow">case</font> DOM_Node::PROCESSING_INSTRUCTION_NODE :
  00257         {
  00258             *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; gStartPI  &lt;&lt; nodeName;
  00259 
  00260             <font class="keywordflow">if</font> (lent &gt; 0) 
  00261                 *Xml_Formatter &lt;&lt; chSpace &lt;&lt; nodeValue;
  00262 
  00263             *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; gEndPI;
  00264             <font class="keywordflow">break</font>;
  00265         }
  00266 
  00267         <font class="keywordflow">case</font> DOM_Node::DOCUMENT_NODE :
  00268         {
  00269             DOM_Node childNode = p_dmNode.getFirstChild();
  00270 
  00271             <font class="keywordflow">while</font>( childNode != 0)
  00272             {
  00273                 p_OutStr &lt;&lt; childNode;
  00274                 *Xml_Formatter &lt;&lt; chLF; <font class="comment">// add linefeed in requested output encoding</font>
  00275                 p_OutStr &lt;&lt; std::flush;
  00276                 childNode = childNode.getNextSibling();
  00277             }
  00278             <font class="keywordflow">break</font>;
  00279         }
  00280 
  00281         <font class="keywordflow">case</font> DOM_Node::ELEMENT_NODE :
  00282         {
  00283             <font class="comment">// The name has to be representable without any escapes</font>
  00284             m_nIndent++;    <font class="comment">// make pretty</font>
  00285             std::string strTmp;
  00286 
  00287             <font class="keywordflow">if</font>(m_nIndent &gt; 0)
  00288                 strTmp = std::string(m_nIndent, <font class="charliteral">' '</font>);
  00289         
  00290             <font class="comment">// Output the element start tag.</font>
  00291             *Xml_Formatter  &lt;&lt; XMLFormatter::NoEscapes
  00292                          &lt;&lt; strTmp.c_str() &lt;&lt; chOpenAngle &lt;&lt; nodeName;
  00293 
  00294             <font class="comment">// Output any attributes on this element</font>
  00295             DOM_NamedNodeMap mapAttribs = p_dmNode.getAttributes();
  00296             <font class="keywordtype">int</font> nAttCnt = mapAttribs.getLength();
  00297 
  00298             <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i &lt; nAttCnt; i++)
  00299             {
  00300                 DOM_Node  dnAttr = mapAttribs.item(i);
  00301 
  00302                 <font class="comment">//  Again the name has to be completely representable. But the</font>
  00303                 <font class="comment">//  dnAttr can have refs and requires the dnAttr style</font>
  00304                 <font class="comment">//  escaping.</font>
  00305                 *Xml_Formatter   &lt;&lt; XMLFormatter::NoEscapes
  00306                                  &lt;&lt; chSpace &lt;&lt; dnAttr.getNodeName()
  00307                                  &lt;&lt; chEqual &lt;&lt; chDoubleQuote
  00308                                  &lt;&lt; XMLFormatter::AttrEscapes
  00309                                  &lt;&lt; dnAttr.getNodeValue()
  00310                                  &lt;&lt; XMLFormatter::NoEscapes
  00311                                  &lt;&lt; chDoubleQuote;
  00312             }
  00313 
  00314             <font class="comment">//  Test for the presence of children, which includes both</font>
  00315             <font class="comment">//  text content and nested elements.</font>
  00316             DOM_Node childNode = p_dmNode.getFirstChild();
  00317 
  00318             <font class="keywordflow">if</font> (childNode != 0)
  00319             {
  00320                 <font class="comment">// There are children. Close start-tag, and output children.</font>
  00321                 <font class="comment">// No escapes are legal here</font>
  00322                 <font class="keywordtype">bool</font> bTxtChild=<font class="keyword">false</font>;
  00323 
  00324                 *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; chCloseAngle;
  00325 
  00326                 <font class="comment">//make pretty</font>
  00327                 <font class="keywordflow">if</font>(childNode.getNodeType() != DOM_Node::TEXT_NODE)
  00328                     *Xml_Formatter &lt;&lt; <font class="stringliteral">"\n"</font>;
  00329 
  00330                 <font class="keywordflow">while</font>( childNode != 0)
  00331                 {
  00332                     <font class="keywordflow">if</font>(childNode.getNodeType() == DOM_Node::TEXT_NODE)
  00333                         bTxtChild = <font class="keyword">true</font>;
  00334 
  00335                     p_OutStr &lt;&lt; childNode;
  00336                     childNode = childNode.getNextSibling();
  00337                 }
  00338 
  00339                 <font class="comment">// Done with children.  Output the end tag.</font>
  00340                 <font class="keywordflow">if</font>(!bTxtChild &amp;&amp; (m_nIndent &gt; 0))
  00341                     strTmp = std::string(m_nIndent, <font class="charliteral">' '</font>);       <font class="comment">//make pretty</font>
  00342                 <font class="keywordflow">else</font>
  00343                     strTmp = <font class="stringliteral">""</font>;
  00344             
  00345                 *Xml_Formatter &lt;&lt; strTmp.c_str() &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; gEndElement
  00346                             &lt;&lt; nodeName &lt;&lt; chCloseAngle &lt;&lt; <font class="stringliteral">"\n"</font>;
  00347                 m_nIndent--;
  00348             }
  00349             <font class="keywordflow">else</font>
  00350             {
  00351                 <font class="comment">//  There were no children. Output the short form close of</font>
  00352                 <font class="comment">//  the element start tag, making it an empty-element tag.</font>
  00353                 *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; chForwardSlash &lt;&lt; chCloseAngle &lt;&lt; <font class="stringliteral">"\n"</font>;
  00354             }
  00355             <font class="keywordflow">break</font>;
  00356         }
  00357 
  00358 
  00359         <font class="keywordflow">case</font> DOM_Node::ENTITY_REFERENCE_NODE:
  00360         {
  00361             DOM_Node childNode;
  00362 
  00363                *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; chAmpersand
  00364                     &lt;&lt; nodeName &lt;&lt; chSemiColon;
  00365             <font class="keywordflow">break</font>;
  00366         }
  00367 
  00368 
  00369         <font class="keywordflow">case</font> DOM_Node::CDATA_SECTION_NODE:
  00370         {
  00371             *Xml_Formatter &lt;&lt; XMLFormatter::NoEscapes &lt;&lt; gStartCDATA
  00372                         &lt;&lt; nodeValue &lt;&lt; gEndCDATA;
  00373             <font class="keywordflow">break</font>;
  00374         }
  00375 
  00376         <font class="keywordflow">case</font> DOM_Node::XML_DECL_NODE:
  00377         {
  00378             DOMString  str;
  00379 
  00380             *Xml_Formatter &lt;&lt; gXMLDecl1 &lt;&lt; ((DOM_XMLDecl &amp;)p_dmNode).getVersion();
  00381 
  00382             *Xml_Formatter &lt;&lt; gXMLDecl2 &lt;&lt; Encoding_Name;
  00383 
  00384             str = ((DOM_XMLDecl &amp;)p_dmNode).getStandalone();
  00385             <font class="keywordflow">if</font> (str != 0)
  00386                 *Xml_Formatter &lt;&lt; gXMLDecl3 &lt;&lt; str;
  00387 
  00388             *Xml_Formatter &lt;&lt; gXMLDecl4;
  00389 
  00390             <font class="keywordflow">break</font>;
  00391         }
  00392 
  00393         <font class="keywordflow">default</font>:
  00394             std::cerr &lt;&lt; <font class="stringliteral">"Unrecognized node type for SOAP envelop = "</font>
  00395                 &lt;&lt; (<font class="keywordtype">long</font>)p_dmNode.getNodeType() &lt;&lt; std::endl;
  00396     }
  00397     <font class="keywordflow">return</font> p_OutStr;
  00398 }
  00399 
  <a name="l00400"></a><a class="code" href="XMLSerializer_8cpp.html#a3">00400</a> std::ostream&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt; </a>(std::ostream&amp; p_OutStr, <font class="keyword">const</font> DOMString&amp; p_dmStr)<font class="keyword"></font>
  00401 <font class="keyword"></font>{
  00402     <font class="keywordtype">char</font> *p = p_dmStr.transcode();
  00403     p_OutStr &lt;&lt; p;
  00404     <font class="keyword">delete</font> [] p;
  00405     <font class="keywordflow">return</font> p_OutStr;
  00406 }
  00407 
  00408 
  <a name="l00409"></a><a class="code" href="XMLSerializer_8cpp.html#a5">00409</a> XMLFormatter&amp; <a class="code" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt; </a>(XMLFormatter&amp; p_xmlFmt, <font class="keyword">const</font> DOMString&amp; p_dmStr)<font class="keyword"></font>
  00410 <font class="keyword"></font>{
  00411     <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> lent = p_dmStr.length();
  00412 
  00413     <font class="keywordflow">if</font> (lent &lt;= 0)
  00414         <font class="keywordflow">return</font> p_xmlFmt;
  00415 
  00416     XMLCh*  buf = <font class="keyword">new</font> XMLCh[lent + 1];
  00417     XMLString::copyNString(buf, p_dmStr.rawBuffer(), lent);
  00418     buf[lent] = 0;
  00419     p_xmlFmt &lt;&lt; buf;
  00420     <font class="keyword">delete</font> [] buf;
  00421     <font class="keywordflow">return</font> p_xmlFmt;
  00422 }
  00423 
  00424 
  00425 
  00426 
  00427 
  00428 
  00429 
  00430         
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8cpp.html
  
  Index: XMLSerializer_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLSerializer.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XercescConst_8hpp-source.html">XercescConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>"</code><br>
  <code>#include &lt;cstdio&gt;</code><br>
  
  <p>
  <a href="XMLSerializer_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Functions</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::ostream&amp;&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8cpp.html#a3">operator&lt;&lt;</a> (std::ostream &amp;p_OutStr, const DOMString &amp;p_dmNode)</td></tr>
  <tr><td nowrap align=right valign=top>std::ostream&amp;&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8cpp.html#a4">operator&lt;&lt;</a> (std::ostream &amp;p_OutStr, DOM_Node &amp;p_dmNode)</td></tr>
  <tr><td nowrap align=right valign=top>XMLFormatter&amp;&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8cpp.html#a5">operator&lt;&lt;</a> (XMLFormatter &amp;p_xmlFmt, const DOMString &amp;p_dmStr)</td></tr>
  <tr><td colspan=2><br><h2>Variables</h2></td></tr>
  <tr><td nowrap align=right valign=top>XMLFormatter*&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8cpp.html#a0">Xml_Formatter</a> = NULL</td></tr>
  <tr><td nowrap align=right valign=top>XMLCh*&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8cpp.html#a1">Encoding_Name</a> = NULL</td></tr>
  </table>
  <hr><h2>Function Documentation</h2>
  <a name="a5" doxytag="XMLSerializer.cpp::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLFormatter &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  XMLFormatter &amp; <em>p_xmlFmt</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const DOMString &amp; <em>p_dmStr</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00409">409</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="XMLSerializer.cpp::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::ostream &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  std::ostream &amp; <em>p_OutStr</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  DOM_Node &amp; <em>p_dmNode</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00241">241</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="XMLSerializer.cpp::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::ostream &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  std::ostream &amp; <em>p_OutStr</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const DOMString &amp; <em>p_dmStr</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00400">400</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Variable Documentation</h2>
  <a name="a1" doxytag="XMLSerializer.cpp::Encoding_Name"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLCh * Encoding_Name = NULL
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00060">60</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a0" doxytag="XMLSerializer.cpp::Xml_Formatter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLFormatter * Xml_Formatter = NULL
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00059">59</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8hpp-source.html
  
  Index: XMLSerializer_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLSerializer.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer.hpp</h1><a href="XMLSerializer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_XML_SERIALIZER_HPP)</font>
  <a name="l00047"></a><a class="code" href="XMLSerializer_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_XML_SERIALIZER_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 
  00050 <font class="preprocessor">#include &lt;util/PlatformUtils.hpp&gt;</font>
  00051 <font class="preprocessor">#include &lt;util/XMLString.hpp&gt;</font>
  00052 <font class="preprocessor">#include &lt;util/XMLUniDefs.hpp&gt;</font>
  00053 <font class="preprocessor">#include &lt;dom/DOM.hpp&gt;</font>
  00054 <font class="preprocessor">#include &lt;framework/XMLFormatter.hpp&gt;</font>
  00055 <font class="preprocessor">#include &lt;util/TranscodingException.hpp&gt;</font>
  00056 <font class="preprocessor">#include &lt;stack&gt;</font>
  00057 <font class="preprocessor">#include &lt;iostream&gt;</font>
  00058 <font class="preprocessor">#include "<a class="code" href="XmlWriter_8hpp.html">XmlWriter.hpp</a>"</font>
  00059 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00060 <font class="preprocessor">#include "<a class="code" href="NsStack_8hpp.html">NsStack.hpp</a>"</font>
  00061 <font class="preprocessor">#include "<a class="code" href="AttList_8hpp.html">AttList.hpp</a>"</font>
  00062 
  00063 <font class="keyword">class </font><a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>;
  00064 
  <a name="l00073"></a><a class="code" href="classXMLSerializer.html">00073</a> <font class="keyword">class </font><a class="code" href="classXMLSerializer.html">XMLSerializer</a>
  00074 {
  00075     <font class="keyword">public</font>:
  00076         <a class="code" href="classXMLSerializer.html#a0">XMLSerializer</a>(<a class="code" href="classXmlWriter.html">XmlWriter</a>&amp; str);
  00077         <a class="code" href="classXMLSerializer.html#a1">~XMLSerializer</a>();
  00078 
  00080         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a2">RegisterPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; prefix, <font class="keyword">const</font> std::string&amp; uri);
  00081 
  00083         std::string <a class="code" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; uri);
  00084 
  00086         std::string <a class="code" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(<font class="keyword">const</font> std::string&amp; uri, std::string defaultPrefix);
  00087 
  00089         std::string <a class="code" href="classXMLSerializer.html#a5">QNameToStr</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; qName);
  00090 
  <a name="l00092"></a><a class="code" href="classXMLSerializer.html#a6">00092</a>         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a6">SetTypeMappingRegistry</a>(<a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>* p_TypMapper)<font class="keyword"></font>{m_pTypeMapper = p_TypMapper;}
  00093 
  <a name="l00095"></a><a class="code" href="classXMLSerializer.html#a7">00095</a>         <a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <a class="code" href="classXMLSerializer.html#a7">GetTypeMapper</a>()<font class="keyword"></font>{<font class="keywordflow">return</font> m_pTypeMapper;}
  00096 
  00098         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a8">StartElem</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList);
  00099 
  00101         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a9">EndElem</a>();
  00102 
  00104         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a10">WriteStr</a>(<font class="keyword">const</font> std::string&amp; str);
  00105 
  00107         DOM_Element&amp; <a class="code" href="classXMLSerializer.html#a11">Append</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a>&amp; p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList);
  00108 
  00110         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a12">Serialize</a>(<a class="code" href="classax_1_1QName.html">ax::QName</a> p_qName, <a class="code" href="classAttList.html">AttList</a>&amp; p_attList, <font class="keyword">const</font> <font class="keywordtype">char</font>* value);
  00111 
  00113         <font class="keywordtype">void</font> <a class="code" href="classXMLSerializer.html#a13">flush</a>();
  00114 
  00115     <font class="keyword">private</font>:
  00116 
  00117         <font class="keyword">friend</font> std::ostream&amp; <a class="code" href="classXMLSerializer.html#l0">operator&lt;&lt;</a>(std::ostream&amp; target, <font class="keyword">const</font> DOMString&amp; toWrite);
  00118         <font class="keyword">friend</font> std::ostream&amp; <a class="code" href="classXMLSerializer.html#l0">operator&lt;&lt;</a>(std::ostream&amp; target, DOM_Node&amp; toWrite);
  00119         <font class="keyword">friend</font> XMLFormatter&amp; <a class="code" href="classXMLSerializer.html#l0">operator&lt;&lt;</a>(XMLFormatter&amp; strm, <font class="keyword">const</font> DOMString&amp; s);
  00120 
  00121 
  00122     <font class="keyword">private</font>:
  <a name="l00123"></a><a class="code" href="classXMLSerializer.html#o0">00123</a>         <a class="code" href="classNsStack.html">NsStack</a> m_nsStk;        
  00124 
  <a name="l00125"></a><a class="code" href="classXMLSerializer.html#o1">00125</a>         <font class="keywordtype">bool</font> m_bStartDoc;       
  <a name="l00126"></a><a class="code" href="classXMLSerializer.html#o2">00126</a>         <font class="keywordtype">int</font>  m_nIndent;         
  <a name="l00127"></a><a class="code" href="classXMLSerializer.html#o3">00127</a>         <font class="keywordtype">int</font>  m_PrefixIndx;      
  00128 
  <a name="l00129"></a><a class="code" href="classXMLSerializer.html#o4">00129</a>         <a class="code" href="classXmlWriter.html">XmlWriter</a> *m_xmlBuffer; 
  00130 
  <a name="l00131"></a><a class="code" href="classXMLSerializer.html#o5">00131</a>         <a class="code" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *m_pTypeMapper;
  00132 
  00133         <font class="comment">// Use DOM to build the SOAP Envelop document</font>
  <a name="l00134"></a><a class="code" href="classXMLSerializer.html#o6">00134</a>         DOM_DOMImplementation impl;
  <a name="l00135"></a><a class="code" href="classXMLSerializer.html#o7">00135</a>         DOM_Document m_Doc;
  <a name="l00136"></a><a class="code" href="classXMLSerializer.html#o8">00136</a>         DOM_Node     m_CurNode;
  <a name="l00137"></a><a class="code" href="classXMLSerializer.html#o9">00137</a>         DOM_Element  m_CurElm;
  <a name="l00138"></a><a class="code" href="classXMLSerializer.html#o10">00138</a>         DOM_Element  m_ChildElm;
  <a name="l00139"></a><a class="code" href="classXMLSerializer.html#o11">00139</a>         DOM_Text     m_CurTxtElm;
  00140 
  00141 
  00142 };
  00143 
  <a name="l00154"></a><a class="code" href="classSOAPEnvelopFormatter.html">00154</a> <font class="keyword">class </font><a class="code" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a> : <font class="keyword">public</font> <a class="code" href="classXMLFormatTarget.html">XMLFormatTarget</a>
  00155 {
  00156 <font class="keyword">public</font>:
  <a name="l00157"></a><a class="code" href="classSOAPEnvelopFormatter.html#a0">00157</a>     <a class="code" href="classSOAPEnvelopFormatter.html#a0">SOAPEnvelopFormatter</a>(std::ostream&amp; p_xmlBuffer) : m_xmlBuf(&amp;p_xmlBuffer) {}
  <a name="l00158"></a><a class="code" href="classSOAPEnvelopFormatter.html#a1">00158</a>     <a class="code" href="classSOAPEnvelopFormatter.html#a1">~SOAPEnvelopFormatter</a>()<font class="keyword"> </font>{};
  00159 
  <a name="l00160"></a><a class="code" href="classSOAPEnvelopFormatter.html#a2">00160</a>     <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelopFormatter.html#a2">writeChars</a>(<font class="keyword">const</font>   XMLByte* <font class="keyword">const</font>  p_chWhat,
  00161                     <font class="keyword">const</font>   <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>    p_Cnt,
  00162                             XMLFormatter * <font class="keyword">const</font> p_xmlFormatter)<font class="keyword"></font>
  00163 <font class="keyword">    </font>{
  00164         m_xmlBuf-&gt;write((<font class="keywordtype">char</font> *) p_chWhat, (<font class="keywordtype">int</font>) p_Cnt);
  00165     };
  00166 
  00167 <font class="keyword">private</font>:
  00168     <a class="code" href="classSOAPEnvelopFormatter.html#a0">SOAPEnvelopFormatter</a>(<font class="keyword">const</font> <a class="code" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>&amp; p_Other);
  00169     <font class="keywordtype">void</font> <a class="code" href="classSOAPEnvelopFormatter.html#c1">operator=</a>(<font class="keyword">const</font> <a class="code" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>&amp; p_rvalue);
  00170 
  <a name="l00171"></a><a class="code" href="classSOAPEnvelopFormatter.html#o0">00171</a>     std::ostream *m_xmlBuf;
  00172 };
  00173 
  00174 <font class="preprocessor">#endif //_AXIS_XML_SERIALIZER_HPP</font>
  00175 <font class="preprocessor"></font>
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLSerializer_8hpp.html
  
  Index: XMLSerializer_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLSerializer.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer.hpp File Reference</h1><code>#include &lt;util/PlatformUtils.hpp&gt;</code><br>
  <code>#include &lt;util/XMLString.hpp&gt;</code><br>
  <code>#include &lt;util/XMLUniDefs.hpp&gt;</code><br>
  <code>#include &lt;dom/DOM.hpp&gt;</code><br>
  <code>#include &lt;framework/XMLFormatter.hpp&gt;</code><br>
  <code>#include &lt;util/TranscodingException.hpp&gt;</code><br>
  <code>#include &lt;stack&gt;</code><br>
  <code>#include &lt;iostream&gt;</code><br>
  <code>#include "<a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a>"</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  <code>#include "<a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>"</code><br>
  <code>#include "<a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>"</code><br>
  
  <p>
  <a href="XMLSerializer_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Implements <a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> for dumping generated DOM tree into a output stream.</em> <a href="classSOAPEnvelopFormatter.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html">XMLSerializer</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serializes XML SOAP Envelop fragments to form a SOAP Message.</em> <a href="classXMLSerializer.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="XMLSerializer_8hpp.html#a0">_AXIS_XML_SERIALIZER_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="XMLSerializer.hpp::_AXIS_XML_SERIALIZER_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_XML_SERIALIZER_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00047">47</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8cpp-source.html
  
  Index: XMLType_8cpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLType.cpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLType.cpp</h1><a href="XMLType_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> * @author  Lilantha Darshana    (lilantha@erunway.com)</font>
  00041 <font class="comment"> *          </font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#include "<a class="code" href="Platform_8hpp.html">Platform.hpp</a>"</font>
  00047 <font class="preprocessor">#include "<a class="code" href="XMLType_8hpp.html">XMLType.hpp</a>"</font>
  00048 
  <a name="l00049"></a><a class="code" href="namespace__ax.html">00049</a> <font class="keyword">namespace </font>ax
  00050 {
  00051 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types int</font>
  00052 template&lt;&gt;
  <a name="l00053"></a><a class="code" href="classax_1_1XMLType.html#d0">00053</a> QName* XMLType&lt;int&gt;::GetType()<font class="keyword"></font>
  00054 <font class="keyword"></font>{
  00055     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"int"</font>);
  00056 }
  00057 
  00058 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types int</font>
  00059 template&lt;&gt;
  00060 QName* XMLType&lt;const int&gt;::GetType()<font class="keyword"></font>
  00061 <font class="keyword"></font>{
  00062     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"int"</font>);
  00063 }
  00064 
  00065 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types long</font>
  00066 template&lt;&gt;
  00067 QName* XMLType&lt;long&gt;::GetType()<font class="keyword"></font>
  00068 <font class="keyword"></font>{
  00069     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"long"</font>);
  00070 }
  00071 
  00072 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types long</font>
  00073 template&lt;&gt;
  00074 QName* XMLType&lt;const long&gt;::GetType()<font class="keyword"></font>
  00075 <font class="keyword"></font>{
  00076     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"long"</font>);
  00077 }
  00078 
  00079 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types short</font>
  00080 template&lt;&gt;
  00081 QName* XMLType&lt;short&gt;::GetType()<font class="keyword"></font>
  00082 <font class="keyword"></font>{
  00083     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"short"</font>);
  00084 }
  00085 
  00086 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types short</font>
  00087 template&lt;&gt;
  00088 QName* XMLType&lt;const short&gt;::GetType()<font class="keyword"></font>
  00089 <font class="keyword"></font>{
  00090     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"short"</font>);
  00091 }
  00092 
  00093 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types float</font>
  00094 template&lt;&gt;
  00095 QName* XMLType&lt;float&gt;::GetType()<font class="keyword"></font>
  00096 <font class="keyword"></font>{
  00097     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"float"</font>);
  00098 }
  00099 
  00100 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types float</font>
  00101 template&lt;&gt;
  00102 QName* XMLType&lt;const float&gt;::GetType()<font class="keyword"></font>
  00103 <font class="keyword"></font>{
  00104     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"float"</font>);
  00105 }
  00106 
  00107 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types double</font>
  00108 template&lt;&gt;
  00109 QName* XMLType&lt;double&gt;::GetType()<font class="keyword"></font>
  00110 <font class="keyword"></font>{
  00111     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"double"</font>);
  00112 }
  00113 
  00114 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types double</font>
  00115 template&lt;&gt;
  00116 QName* XMLType&lt;const double&gt;::GetType()<font class="keyword"></font>
  00117 <font class="keyword"></font>{
  00118     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"double"</font>);
  00119 }
  00120 
  00121 
  00122 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types STL string</font>
  00123 template&lt;&gt;
  <a name="l00124"></a><a class="code" href="namespace__ax.html#a41">00124</a> QName* XMLType&lt;std::string&gt;::GetType()<font class="keyword"></font>
  00125 <font class="keyword"></font>{
  00126     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"string"</font>);
  00127 }
  00128 
  00129 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types STL string</font>
  00130 template&lt;&gt;
  <a name="l00131"></a><a class="code" href="namespace__ax.html#a42">00131</a> QName* XMLType&lt;const std::string&gt;::GetType()<font class="keyword"></font>
  00132 <font class="keyword"></font>{
  00133     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"string"</font>);
  00134 }
  00135 
  00136 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types boolean</font>
  00137 template&lt;&gt;
  00138 QName* XMLType&lt;bool&gt;::GetType()<font class="keyword"></font>
  00139 <font class="keyword"></font>{
  00140     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"boolean"</font>);
  00141 }
  00142 
  00143 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types boolean</font>
  00144 template&lt;&gt;
  00145 QName* XMLType&lt;const bool&gt;::GetType()<font class="keyword"></font>
  00146 <font class="keyword"></font>{
  00147     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"boolean"</font>);
  00148 }
  00149 
  00150 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types char as byte</font>
  00151 template&lt;&gt;
  00152 QName* XMLType&lt;char&gt;::GetType()<font class="keyword"></font>
  00153 <font class="keyword"></font>{
  00154     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"byte"</font>);
  00155 }
  00156 
  00157 <font class="comment">// XML-SOAP schema type as Qualified name, definition for predefined types char as byte</font>
  00158 template&lt;&gt;
  00159 QName* XMLType&lt;const char&gt;::GetType()<font class="keyword"></font>
  00160 <font class="keyword"></font>{
  00161     <font class="keywordflow">return</font> <font class="keyword">new</font> QName(ax::URI_CURRENT_SCHEMA_XSD, <font class="stringliteral">"byte"</font>);
  00162 }
  00163 
  00164 };
  00165 
  00166 
  00167 
  00168 
  00169 
  00170 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8cpp.html
  
  Index: XMLType_8cpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLType.cpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLType.cpp File Reference</h1><code>#include "<a class="el" href="Platform_8hpp-source.html">Platform.hpp</a>"</code><br>
  <code>#include "<a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a>"</code><br>
  
  <p>
  <a href="XMLType_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
  <tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html">ax</a></td></tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8hpp-source.html
  
  Index: XMLType_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLType.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLType.hpp</h1><a href="XMLType_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> * @author   Lilantha Darshana   (lilantha@erunway.com)</font>
  00041 <font class="comment"> *          </font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_XMLTYPE_HPP)</font>
  <a name="l00047"></a><a class="code" href="XMLType_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_XMLTYPE_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include "<a class="code" href="AxisConst_8hpp.html">AxisConst.hpp</a>"</font>
  00050 <font class="preprocessor">#include "<a class="code" href="QName_8hpp.html">QName.hpp</a>"</font>
  00051 
  00052 
  00053 
  00054 
  00055 <font class="keyword">namespace </font>ax
  00056 {
  00057 
  00078 
  00079 template&lt;typename T&gt;
  <a name="l00080"></a><a class="code" href="classax_1_1XMLType.html">00080</a> <font class="keyword">class </font>XMLType  
  00081 {
  00082     <font class="keyword">public</font>:
  00083         <a class="code" href="classax_1_1XMLType.html#a0">XMLType</a>();
  00084         <font class="keyword">virtual</font> <a class="code" href="classax_1_1XMLType.html#a1">~XMLType</a>()=0;
  00085 
  00087         <font class="keyword">static</font> QName* <a class="code" href="classax_1_1XMLType.html#d0">GetType</a>();
  00088 };
  00089 
  00090 };
  00091 
  00092 <font class="preprocessor">#endif // _AXIS_XMLTYPE_HPP</font>
  00093 <font class="preprocessor"></font>
  00094 
  00095 
  00096 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XMLType_8hpp.html
  
  Index: XMLType_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLType.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLType.hpp File Reference</h1><code>#include "<a class="el" href="AxisConst_8hpp-source.html">AxisConst.hpp</a>"</code><br>
  <code>#include "<a class="el" href="QName_8hpp-source.html">QName.hpp</a>"</code><br>
  
  <p>
  <a href="XMLType_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
  <tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html">ax</a></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="XMLType_8hpp.html#a0">_AXIS_XMLTYPE_HPP</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="XMLType.hpp::_AXIS_XMLTYPE_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_XMLTYPE_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="XMLType_8hpp-source.html#l00047">47</a> of file <a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XercescConst_8hpp-source.html
  
  Index: XercescConst_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XercescConst.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XercescConst.hpp</h1><a href="XercescConst_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 <font class="preprocessor">#if !defined(_AXIS_XERCESCONST_H)</font>
  <a name="l00046"></a><a class="code" href="XercescConst_8hpp.html#a0">00046</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_XERCESCONST_H</font>
  00047 <font class="preprocessor"></font>
  00048 
  00049 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gEndElement[] = { chOpenAngle, chForwardSlash, chNull };
  00050 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gEndPI[] = { chQuestion, chCloseAngle, chNull};
  00051 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gStartPI[] = { chOpenAngle, chQuestion, chNull };
  00052 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gXMLDecl1[] =
  00053 {
  00054         chOpenAngle, chQuestion, chLatin_x, chLatin_m, chLatin_l
  00055     ,   chSpace, chLatin_v, chLatin_e, chLatin_r, chLatin_s, chLatin_i
  00056     ,   chLatin_o, chLatin_n, chEqual, chDoubleQuote, chNull
  00057 };
  00058 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gXMLDecl2[] =
  00059 {
  00060         chDoubleQuote, chSpace, chLatin_e, chLatin_n, chLatin_c
  00061     ,   chLatin_o, chLatin_d, chLatin_i, chLatin_n, chLatin_g, chEqual
  00062     ,   chDoubleQuote, chNull
  00063 };
  00064 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gXMLDecl3[] =
  00065 {
  00066         chDoubleQuote, chSpace, chLatin_s, chLatin_t, chLatin_a
  00067     ,   chLatin_n, chLatin_d, chLatin_a, chLatin_l, chLatin_o
  00068     ,   chLatin_n, chLatin_e, chEqual, chDoubleQuote, chNull
  00069 };
  00070 
  00071 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gXMLDecl4[] =
  00072 {
  00073         chDoubleQuote, chQuestion, chCloseAngle
  00074     ,   chLF, chNull
  00075 };
  00076 
  00077 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gStartCDATA[] =
  00078 {
  00079         chOpenAngle, chBang, chOpenSquare, chLatin_C, chLatin_D,
  00080         chLatin_A, chLatin_T, chLatin_A, chOpenSquare, chNull
  00081 };
  00082 
  00083 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gEndCDATA[] =
  00084 {
  00085     chCloseSquare, chCloseSquare, chCloseAngle, chNull
  00086 };
  00087 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gStartComment[] =
  00088 {
  00089     chOpenAngle, chBang, chDash, chDash, chNull
  00090 };
  00091 
  00092 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gEndComment[] =
  00093 {
  00094     chDash, chDash, chCloseAngle, chNull
  00095 };
  00096 
  00097 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gStartDoctype[] =
  00098 {
  00099     chOpenAngle, chBang, chLatin_D, chLatin_O, chLatin_C, chLatin_T,
  00100     chLatin_Y, chLatin_P, chLatin_E, chSpace, chNull
  00101 };
  00102 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gPublic[] =
  00103 {
  00104     chLatin_P, chLatin_U, chLatin_B, chLatin_L, chLatin_I,
  00105     chLatin_C, chSpace, chDoubleQuote, chNull
  00106 };
  00107 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gSystem[] =
  00108 {
  00109     chLatin_S, chLatin_Y, chLatin_S, chLatin_T, chLatin_E,
  00110     chLatin_M, chSpace, chDoubleQuote, chNull
  00111 };
  00112 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gStartEntity[] =
  00113 {
  00114     chOpenAngle, chBang, chLatin_E, chLatin_N, chLatin_T, chLatin_I,
  00115     chLatin_T, chLatin_Y, chSpace, chNull
  00116 };
  00117 <font class="keyword">static</font> <font class="keyword">const</font> XMLCh  gNotation[] =
  00118 {
  00119     chLatin_N, chLatin_D, chLatin_A, chLatin_T, chLatin_A,
  00120     chSpace, chDoubleQuote, chNull
  00121 };
  00122 
  00123 <font class="preprocessor">#endif //_AXIS_XERCESCONST_H</font>
  00124 <font class="preprocessor"></font>
  00125 
  00126 
  00127 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XercescConst_8hpp.html
  
  Index: XercescConst_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XercescConst.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XercescConst.hpp File Reference</h1>
  <p>
  <a href="XercescConst_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="XercescConst_8hpp.html#a0">_AXIS_XERCESCONST_H</a></td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="XercescConst.hpp::_AXIS_XERCESCONST_H"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_XERCESCONST_H
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="XercescConst_8hpp-source.html#l00046">46</a> of file <a class="el" href="XercescConst_8hpp-source.html">XercescConst.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XmlWriter_8hpp-source.html
  
  Index: XmlWriter_8hpp-source.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XmlWriter.hpp Source File</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XmlWriter.hpp</h1><a href="XmlWriter_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/* -*- C++ -*- */</font>
  00002 <font class="comment">/*</font>
  00003 <font class="comment"> * Copyright (c) 2001 SL_OpenSource Consortium</font>
  00004 <font class="comment"> * All Rights Reserved.</font>
  00005 <font class="comment"> * </font>
  00006 <font class="comment"> * Permission to use, copy, modify, and distribute this software and its </font>
  00007 <font class="comment"> * documentation for educational, research and non-profit purposes, </font>
  00008 <font class="comment"> * without fee, and without a written agreement is hereby granted, </font>
  00009 <font class="comment"> * provided that the above copyright notice, this paragraph and the </font>
  00010 <font class="comment"> * following few paragraphs appear in all copies.  </font>
  00011 <font class="comment"> * </font>
  00012 <font class="comment"> * Permission to incorporate this software into commercial products may </font>
  00013 <font class="comment"> * be obtained from the SL_OpenSource Consortium, </font>
  00014 <font class="comment"> * </font>
  00015 <font class="comment"> * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY</font>
  00016 <font class="comment"> * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, </font>
  00017 <font class="comment"> * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND </font>
  00018 <font class="comment"> * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN </font>
  00019 <font class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>
  00020 <font class="comment"> * </font>
  00021 <font class="comment"> * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, </font>
  00022 <font class="comment"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</font>
  00023 <font class="comment"> * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER </font>
  00024 <font class="comment"> * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS</font>
  00025 <font class="comment"> * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</font>
  00026 <font class="comment"> * </font>
  00027 <font class="comment"> * The SL_OpenSource Consortium will appreciate receiving any enhancements </font>
  00028 <font class="comment"> * and modifications of this software made by others, and reserves the right </font>
  00029 <font class="comment"> * to include them in future releases. The Consortium also recommends that </font>
  00030 <font class="comment"> * this software not be redistributed by third parties, but be obtained by</font>
  00031 <font class="comment"> * all directly from the SL_OpenSource Consortium server, so that all users </font>
  00032 <font class="comment"> * of the software may receive bug notifications and other relevant </font>
  00033 <font class="comment"> * announcements.</font>
  00034 <font class="comment"> * </font>
  00035 <font class="comment"> * </font>
  00036 <font class="comment"> * Please send any questions and bug reports to </font>
  00037 <font class="comment"> * SL_OpenSource Consortium (slosc@yahoo.com)</font>
  00038 <font class="comment"> * </font>
  00039 <font class="comment"> *</font>
  00040 <font class="comment"> *</font>
  00041 <font class="comment"> * @author Lilantha Darshana (lilantha@erunway.com)</font>
  00042 <font class="comment"> *</font>
  00043 <font class="comment"> */</font>
  00044 
  00045 
  00046 <font class="preprocessor">#if !defined(_AXIS_XML_WRITER_HPP)</font>
  <a name="l00047"></a><a class="code" href="XmlWriter_8hpp.html#a0">00047</a> <font class="preprocessor"></font><font class="preprocessor">#define _AXIS_XML_WRITER_HPP</font>
  00048 <font class="preprocessor"></font>
  00049 <font class="preprocessor">#include &lt;sstream&gt;</font>
  00050 
  <a name="l00051"></a><a class="code" href="XmlWriter_8hpp.html#a1">00051</a> <font class="keyword">const</font> <font class="keywordtype">int</font> m_nBufSize = 1024;
  00052 
  00063 
  00064 
  00065 <font class="comment">// for the time being this is just a ostringstream.</font>
  <a name="l00066"></a><a class="code" href="classXmlWriter.html">00066</a> <font class="keyword">class </font><a class="code" href="classXmlWriter.html">XmlWriter</a> : <font class="keyword">public</font> std::ostringstream <font class="comment">//std::streambuf</font>
  00067 {
  00068 <font class="preprocessor">#if 0</font>
  00069 <font class="preprocessor"></font>
  00070 <font class="keyword">public</font>:
  00071         XmlWriter()<font class="keyword"></font>
  00072 <font class="keyword">        </font>{
  00073             setp(m_Buf, m_Buf+(m_nBufSize - 1));
  00074         }
  00075 
  00076         <font class="keyword">virtual</font> ~XmlWriter()<font class="keyword"></font>
  00077 <font class="keyword">        </font>{
  00078             sync();
  00079         }
  00080 
  00081         <a class="code" href="classstd_1_1ostringstream.html">std::ostringstream</a> GetXmlBuffer()<font class="keyword"></font>{ <font class="keywordflow">return</font> m_strBuf;}
  00082 
  00083     <font class="keyword">protected</font>:
  00084         int_type overflow(int_type p_ch)<font class="keyword"></font>
  00085 <font class="keyword">        </font>{
  00086             <font class="keywordflow">if</font>(p_ch != EOF)
  00087             {
  00088                 *pptr() = p_ch;
  00089                 pbump(1);
  00090             }
  00091             <font class="keywordflow">if</font>(flush() == EOF) <font class="keywordflow">return</font> EOF;
  00092             <font class="keywordflow">return</font> p_ch;
  00093         }
  00094 
  00095         <font class="keywordtype">int</font> flush()<font class="keyword"></font>
  00096 <font class="keyword">        </font>{
  00097             <font class="keyword">const</font> <font class="keywordtype">int</font> size = pptr() - pbase();
  00098             *pptr() = <font class="charliteral">'\0'</font>;
  00099             m_strBuf &lt;&lt; m_Buf;
  00100             pbump(-size);
  00101             <font class="keywordflow">return</font> size;
  00102         }
  00103 
  00104         <font class="keywordtype">int</font> sync()<font class="keyword"></font>
  00105 <font class="keyword">        </font>{
  00106             <font class="keywordflow">if</font>(flush() == EOF) <font class="keywordflow">return</font> -1;
  00107             <font class="keywordflow">return</font> 0;
  00108         }
  00109 
  00110     <font class="keyword">private</font>:
  00111         <a class="code" href="classstd_1_1ostringstream.html">std::ostringstream</a> m_strBuf;
  00112         <font class="keywordtype">char</font> m_Buf[m_nBufSize];
  00113 
  00114 <font class="preprocessor">#endif</font>
  00115 <font class="preprocessor"></font>
  00116 };
  00117 
  00118 
  00119 <font class="preprocessor">#endif //_AXIS_XML_WRITER_HPP</font>
  00120 <font class="preprocessor"></font>
  00121 
  </pre></div><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/XmlWriter_8hpp.html
  
  Index: XmlWriter_8hpp.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XmlWriter.hpp File Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XmlWriter.hpp File Reference</h1><code>#include &lt;sstream&gt;</code><br>
  
  <p>
  <a href="XmlWriter_8hpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classXmlWriter.html">XmlWriter</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Streaming implementation of the Xml writer to dump SOAP Envelop.</em> <a href="classXmlWriter.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  <tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="XmlWriter_8hpp.html#a0">_AXIS_XML_WRITER_HPP</a></td></tr>
  <tr><td colspan=2><br><h2>Variables</h2></td></tr>
  <tr><td nowrap align=right valign=top>const int&nbsp;</td><td valign=bottom><a class="el" href="XmlWriter_8hpp.html#a1">m_nBufSize</a> = 1024</td></tr>
  </table>
  <hr><h2>Define Documentation</h2>
  <a name="a0" doxytag="XmlWriter.hpp::_AXIS_XML_WRITER_HPP"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  #define _AXIS_XML_WRITER_HPP
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <b>Value:</b><div class="fragment"><pre>
  </pre></div>
  <p>
  Definition at line <a class="el" href="XmlWriter_8hpp-source.html#l00047">47</a> of file <a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Variable Documentation</h2>
  <a name="a1" doxytag="XmlWriter.hpp::m_nBufSize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const int m_nBufSize = 1024
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XmlWriter_8hpp-source.html#l00051">51</a> of file <a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/annotated.html
  
  Index: annotated.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Annotated Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<ul>
  <li><a class="el" href="classAttList.html">AttList</a>  (Attribute List for XML)
  <li><a class="el" href="classAxisException.html">AxisException</a>  (General Exception handler)
  <li><a class="el" href="classAxisFault.html">AxisFault</a>  (SOAP Fault as exceptions)
  <li><a class="el" href="classCall.html">Call</a>  (RPC Dynamic Invocation interface)
  <li><a class="el" href="classChannel.html">Channel</a>  (The primitive socket implementation for SOAP Envelops passing)
  <li><a class="el" href="classChannelException.html">ChannelException</a>  (The primitive socket exception for tranport layer to handle)
  <li><a class="el" href="classErrorHandler.html">ErrorHandler</a> 
  <li><a class="el" href="classHttpTransport.html">HttpTransport</a>  (The HTTP transport implementation for SOAP)
  <li><a class="el" href="classMessageElement.html">MessageElement</a>  (Base class of all SOAP message components)
  <li><a class="el" href="classNsMap.html">NsMap</a>  (Namespace map for building a SOAP Envelop)
  <li><a class="el" href="classNsMap__t.html">NsMap_t</a> 
  <li><a class="el" href="classNsStack.html">NsStack</a>  (Namespace stack for building a SOAP Envelop)
  <li><a class="el" href="classstd_1_1ostringstream.html">std::ostringstream</a> 
  <li><a class="el" href="classParam.html">Param</a>  (Parameters for SOAP - RPC)
  <li><a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a> 
  <li><a class="el" href="classax_1_1QName.html">ax::QName</a>  (Qualified name based on "Namespaces in XML" specification)
  <li><a class="el" href="classReceiver.html">Receiver</a> 
  <li><a class="el" href="classRPCElement.html">RPCElement</a> 
  <li><a class="el" href="classRPCParam.html">RPCParam</a> 
  <li><a class="el" href="classSender.html">Sender</a> 
  <li><a class="el" href="classSerializerFactory.html">SerializerFactory</a>  ((De)serialization interface for user defined types)
  <li><a class="el" href="classServiceFactory.html">ServiceFactory</a>  (Instancetiate <a class="el" href="classCall.html">Call</a> object for the dynamic invocation of a remote operation)
  <li><a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> 
  <li><a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>  (Preimplementation of the <a class="el" href="classSerializerFactory.html">SerializerFactory</a> interface for predefined types)
  <li><a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a>  (SOAP Envelop description)
  <li><a class="el" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>  (Implements <a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> for dumping generated DOM tree into a output stream)
  <li><a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a>  (SOAPFault Element class is used for the mapping of the SOAP faults)
  <li><a class="el" href="classSOAPHeader.html">SOAPHeader</a>  (SOAPHeader is used to map the SOAP Header as a Messag Element)
  <li><a class="el" href="classSOAPMessage.html">SOAPMessage</a> 
  <li><a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a> 
  <li><a class="el" href="classTransport.html">Transport</a>  (The Transport interface for SOAP envelop carrier)
  <li><a class="el" href="classTransportFactory.html">TransportFactory</a> 
  <li><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>  (Registry for Type Mapping for the different encoding styles)
  <li><a class="el" href="classUrl.html">Url</a>  (Manupulate URLs)
  <li><a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a>  (SOAP Envelop deserialiser)
  <li><a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> 
  <li><a class="el" href="classXMLSerializer.html">XMLSerializer</a>  (Serializes XML SOAP Envelop fragments to form a SOAP Message)
  <li><a class="el" href="classax_1_1XMLType.html">ax::XMLType</a>  (Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name)
  <li><a class="el" href="classXmlWriter.html">XmlWriter</a>  (Streaming implementation of the Xml writer to dump SOAP Envelop)
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAttList-members.html
  
  Index: classAttList-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AttList Member List</h1>This is the complete list of members for <a class="el" href="classAttList.html">AttList</a>, including all inherited members.<ul>
  <li><a class="el" href="classAttList.html#a1">Add</a>(ax::QName &amp;name, const std::string &amp;value)
  <code> [inline]</code><li><a class="el" href="classAttList.html#a0">AttList</a>()
  <code> [inline]</code><li><a class="el" href="classAttList.html#u0">Attrib_t</a> typedef
  <code> [private]</code><li><a class="el" href="classAttList.html#a2">getLength</a>()
  <code> [inline]</code><li><a class="el" href="classAttList.html#a3">getName</a>(int i)
  <code> [inline]</code><li><a class="el" href="classAttList.html#a4">getValue</a>(int i)
  <code> [inline]</code><li><a class="el" href="classAttList.html#o0">m_Attribs</a>
  <code> [private]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAttList.html
  
  Index: classAttList.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AttList class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AttList  Class Reference</h1>Attribute List for XML. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>&gt;</code>
  <p>
  <a href="classAttList-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#a0">AttList</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#a1">Add</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;name, const std::string &amp;value)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add an attribute to the List.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#a2">getLength</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get the length of the attribute List.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#a3">getName</a> (int i)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get attribute qualified name for index i.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#a4">getValue</a> (int i)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get attribute value for index i.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>typedef std::pair&lt;<a class="el" href="classax_1_1QName.html">ax::QName</a>,<br>
   std::string&gt;&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#u0">Attrib_t</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>define the type for holding attributes.</em> <a href="#u0">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classAttList.html#u0">Attrib_t</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classAttList.html#o0">m_Attribs</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>List of attributes.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Attribute List for XML.
  <p>
  This is defined for use with Axis as Attribute list to form  a SOAP-Envelop.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00062">62</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.<hr><h2>Member Typedef Documentation</h2>
  <a name="u0" doxytag="AttList::Attrib_t"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  typedef std::pair&lt; <a class="el" href="classax_1_1QName.html">ax::QName</a>, std::string &gt; AttList::Attrib_t&lt;<a class="el" href="classax_1_1QName.html">ax::QName</a>, std::string&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  define the type for holding attributes.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00080">80</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="AttList::AttList"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AttList::AttList (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00065">65</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a1" doxytag="AttList::Add"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void AttList::Add (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>name</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>value</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add an attribute to the List.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00068">68</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="AttList::getLength"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  int AttList::getLength (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get the length of the attribute List.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00073">73</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00108">XMLSerializer::Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="AttList::getName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string AttList::getName (
            </b></td>
            <td valign="bottom"><b>
  int <em>i</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get attribute qualified name for index i.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00075">75</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00108">XMLSerializer::Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="AttList::getValue"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string AttList::getValue (
            </b></td>
            <td valign="bottom"><b>
  int <em>i</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get attribute value for index i.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00077">77</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00108">XMLSerializer::Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="AttList::m_Attribs"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classAttList.html#u0">Attrib_t</a> &gt; AttList::m_Attribs&lt;<a class="el" href="classAttList.html#u0">Attrib_t</a> &gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  List of attributes.
  <p>
  
  <p>
  Definition at line <a class="el" href="AttList_8hpp-source.html#l00082">82</a> of file <a class="el" href="AttList_8hpp-source.html">AttList.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="AttList_8hpp-source.html">AttList.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException-members.html
  
  Index: classAxisException-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException Member List</h1>This is the complete list of members for <a class="el" href="classAxisException.html">AxisException</a>, including all inherited members.<ul>
  <li><a class="el" href="classAxisException.html#a0">AxisException</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a1">AxisException</a>(std::string p_Err, unsigned short p_Lvl)
  <li><a class="el" href="classAxisException.html#a5">Clear</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a3">GetErrorMsg</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a4">GetErrorMsg</a>(unsigned short p_Lvl)
  <code> [inline]</code><li><a class="el" href="classAxisException.html#n0">m_Error</a>
  <code> [protected]</code><li><a class="el" href="classAxisException.html#n1">m_Lvl</a>
  <code> [protected]</code><li><a class="el" href="classAxisException.html#a2">~AxisException</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisException.html
  
  Index: classAxisException.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisException class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisException  Class Reference</h1>General Exception handler. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for AxisException::
  <p><center><img src="classAxisException.gif" usemap="#AxisException_map" border="0"></center>
  <map name="AxisException_map">
  <area href="classAxisFault.html" alt="AxisFault" shape="rect" coords="0,56,91,80">
  </map>
  <a href="classAxisException-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a0">AxisException</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a1">AxisException</a> (std::string p_Err, unsigned short p_Lvl)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create with a cause of exception &amp; level of severity.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a2">~AxisException</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a3">GetErrorMsg</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get the cause of exception.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a4">GetErrorMsg</a> (unsigned short p_Lvl)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get the cause of exception &amp; level of severity.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#a5">Clear</a> ()</td></tr>
  <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#n0">m_Error</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>cause of exception info.</em> <a href="#n0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>unsigned short&nbsp;</td><td valign=bottom><a class="el" href="classAxisException.html#n1">m_Lvl</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>seviarity of the exception.</em> <a href="#n1">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  General Exception handler.
  <p>
  General Exception handler for Axis
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00056">56</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="AxisException::AxisException"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AxisException::AxisException (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00059">59</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="AxisException::AxisException"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AxisException::AxisException (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>p_Err</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  unsigned short <em>p_Lvl</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create with a cause of exception &amp; level of severity.
  <p>
  Create a exception with a cause of exception &amp; level of severity<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_Err</em>
  &nbsp;</td><td>
  Cause of exception </td></tr>
  <tr><td valign=top><em>p_Lvl</em>
  &nbsp;</td><td>
  severity level of the exception thrown </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="AxisException_8cpp-source.html#l00057">57</a> of file <a class="el" href="AxisException_8cpp-source.html">AxisException.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="AxisException::~AxisException"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AxisException::~AxisException (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8cpp-source.html#l00063">63</a> of file <a class="el" href="AxisException_8cpp-source.html">AxisException.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a5" doxytag="AxisException::Clear"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void AxisException::Clear (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00070">70</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="AxisException::GetErrorMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; AxisException::GetErrorMsg (
            </b></td>
            <td valign="bottom"><b>
  unsigned short <em>p_Lvl</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get the cause of exception &amp; level of severity.
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00069">69</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="AxisException::GetErrorMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; AxisException::GetErrorMsg (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get the cause of exception.
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00066">66</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="n0" doxytag="AxisException::m_Error"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string AxisException::m_Error<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  cause of exception info.
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00074">74</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n1" doxytag="AxisException::m_Lvl"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned short AxisException::m_Lvl<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  seviarity of the exception.
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00075">75</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a><li><a class="el" href="AxisException_8cpp-source.html">AxisException.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault-members.html
  
  Index: classAxisFault-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisFault Member List</h1>This is the complete list of members for <a class="el" href="classAxisFault.html">AxisFault</a>, including all inherited members.<ul>
  <li><a class="el" href="classAxisException.html#a0">AxisException</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a1">AxisException</a>(std::string p_Err, unsigned short p_Lvl)
  <li><a class="el" href="classAxisFault.html#a0">AxisFault</a>(std::string p_Err, unsigned short p_Lvl)
  <li><a class="el" href="classAxisException.html#a5">Clear</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a3">GetErrorMsg</a>()
  <code> [inline]</code><li><a class="el" href="classAxisException.html#a4">GetErrorMsg</a>(unsigned short p_Lvl)
  <code> [inline]</code><li><a class="el" href="classAxisException.html#n0">m_Error</a>
  <code> [protected]</code><li><a class="el" href="classAxisException.html#n1">m_Lvl</a>
  <code> [protected]</code><li><a class="el" href="classAxisException.html#a2">~AxisException</a>()
  <code> [virtual]</code><li><a class="el" href="classAxisFault.html#a1">~AxisFault</a>()
  <code> [inline]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classAxisFault.html
  
  Index: classAxisFault.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>AxisFault class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>AxisFault  Class Reference</h1>SOAP Fault as exceptions. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for AxisFault::
  <p><center><img src="classAxisFault.gif" usemap="#AxisFault_map" border="0"></center>
  <map name="AxisFault_map">
  <area href="classAxisException.html" alt="AxisException" shape="rect" coords="0,0,91,24">
  </map>
  <a href="classAxisFault-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classAxisFault.html#a0">AxisFault</a> (std::string p_Err, unsigned short p_Lvl)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create with a cause of exception &amp; level of severity.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classAxisFault.html#a1">~AxisFault</a> ()</td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  SOAP Fault as exceptions.
  <p>
  SOAP Fault map as exceptions, handler for Axis
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00086">86</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="AxisFault::AxisFault"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AxisFault::AxisFault (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>p_Err</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  unsigned short <em>p_Lvl</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create with a cause of exception &amp; level of severity.
  <p>
  Create a Fault exception with a cause of exception &amp; level of severity<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_Err</em>
  &nbsp;</td><td>
  Cause of exception </td></tr>
  <tr><td valign=top><em>p_Lvl</em>
  &nbsp;</td><td>
  severity level of the exception thrown </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="AxisException_8cpp-source.html#l00076">76</a> of file <a class="el" href="AxisException_8cpp-source.html">AxisException.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="AxisFault::~AxisFault"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  AxisFault::~AxisFault (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="AxisException_8hpp-source.html#l00091">91</a> of file <a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="AxisException_8hpp-source.html">AxisException.hpp</a><li><a class="el" href="AxisException_8cpp-source.html">AxisException.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classCall-members.html
  
  Index: classCall-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call Member List</h1>This is the complete list of members for <a class="el" href="classCall.html">Call</a>, including all inherited members.<ul>
  <li><a class="el" href="classCall.html#a2">AddParameter</a>(const char *p_pchName, T &amp;p_Value, Mode p_Mode)
  <code> [inline]</code><li><a class="el" href="classCall.html#a3">AddParameter</a>(T &amp;value, Mode mode)
  <code> [inline]</code><li><a class="el" href="classCall.html#a9">AddSerializerFactory</a>(const std::string &amp;p_sTypName, SerializerFactory *p_pSer)
  <li><a class="el" href="classCall.html#a0">Call</a>()
  <li><a class="el" href="classCall.html#c0">Cleanup</a>()
  <code> [private]</code><li><a class="el" href="classCall.html#a11">ClearAllParams</a>()
  <code> [inline]</code><li><a class="el" href="classCall.html#s3s2">IN_OUT_PARAM</a> enum value
  <li><a class="el" href="classCall.html#s3s0">IN_PARAM</a> enum value
  <li><a class="el" href="classCall.html#a4">Invoke</a>(const std::string &amp;p_sNs, const std::string &amp;p_sMethod)
  <li><a class="el" href="classCall.html#a5">Invoke</a>()
  <li><a class="el" href="classCall.html#o4">m_EncStyle</a>
  <code> [private]</code><li><a class="el" href="classCall.html#o5">m_pClientCtx</a>
  <code> [private]</code><li><a class="el" href="classCall.html#o3">m_ServerURL</a>
  <code> [private]</code><li><a class="el" href="classCall.html#o2">m_strMethodNsURI</a>
  <code> [private]</code><li><a class="el" href="classCall.html#o1">m_strOpName</a>
  <code> [private]</code><li><a class="el" href="classCall.html#o0">m_vArgs</a>
  <code> [private]</code><li><a class="el" href="classCall.html#s3">Mode</a> enum name
  <li><a class="el" href="classCall.html#s3s1">OUT_PARAM</a> enum value
  <li><a class="el" href="classCall.html#a10">SetEncodingStyle</a>(const std::string &amp;p_sNsURI)
  <li><a class="el" href="classCall.html#a7">SetMethodNamespaceURI</a>(const char *p_pchOpNsURI)
  <li><a class="el" href="classCall.html#a8">SetOperationName</a>(const char *p_pchOpName)
  <li><a class="el" href="classCall.html#a6">SetTargetEndpointAddress</a>(const char *p_pchUrl)
  <li><a class="el" href="classCall.html#a1">~Call</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classCall.html
  
  Index: classCall.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Call class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Call  Class Reference</h1>RPC Dynamic Invocation interface. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Call_8hpp-source.html">Call.hpp</a>&gt;</code>
  <p>
  <a href="classCall-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classCall.html#s3">Mode</a> { <a class="el" href="classCall.html#s3s0">IN_PARAM</a>, 
  <a class="el" href="classCall.html#s3s1">OUT_PARAM</a>, 
  <a class="el" href="classCall.html#s3s2">IN_OUT_PARAM</a>
   }</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Mode of the each parameter: This is not supported yet???, default is setas IN.</em> <a href="#s3">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a0">Call</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a1">~Call</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>template&lt;typename T&gt; void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a2">AddParameter</a> (const char *p_pchName, T &amp;p_Value, <a class="el" href="classCall.html#s3">Mode</a> p_Mode)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Adds specified parameter to the list of parameters for the operation associated with this Call object.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>template&lt;typename T&gt; void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a3">AddParameter</a> (T &amp;value, <a class="el" href="classCall.html#s3">Mode</a> mode)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Adds specified parameter without a name to the list of parameters for the operation associated with this Call object.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a4">Invoke</a> (const std::string &amp;p_sNs, const std::string &amp;p_sMethod)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Invokes the operation associated with this Call object using the method name in namespace.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a5">Invoke</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Invokes the operation associated with this Call object using info aready provided.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a6">SetTargetEndpointAddress</a> (const char *p_pchUrl)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Set romote address of the Web Service.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a7">SetMethodNamespaceURI</a> (const char *p_pchOpNsURI)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>set the method namespace URI.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a8">SetOperationName</a> (const char *p_pchOpName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets the operation name associated with this Call object.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a9">AddSerializerFactory</a> (const std::string &amp;p_sTypName, <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *p_pSer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Set XML Mapping for user defined data types.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a10">SetEncodingStyle</a> (const std::string &amp;p_sNsURI)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets the encoding style to the URL passed in.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#a11">ClearAllParams</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Clears the list of parameters.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#c0">Cleanup</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Clean up any memory associated with this call object.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classParam.html">Param</a>*&gt;&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o0">m_vArgs</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Vectore of arguments.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o1">m_strOpName</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Operation/method name.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o2">m_strMethodNsURI</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Method namespace URI.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o3">m_ServerURL</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Remote address of the Web service.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o4">m_EncStyle</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Encoding style.</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a>*&nbsp;</td><td valign=bottom><a class="el" href="classCall.html#o5">m_pClientCtx</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>SOAP Message handler.</em> <a href="#o5">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  RPC Dynamic Invocation interface.
  <p>
  RPC Dynamic Invocation interface. This class should be used to actually  invoke the Web Service from Client side.  The stratergy of calling this interface is as follows: Set up &amp; configure a object of this class with following informations:
  <p>
  <ul>
  <li> TARGER_ENDPOINT - Where the Web service can be located ( :-( not location transparent)  <li> NAMESPACE - Namespace URI of remote method  <li> METHOD_NAME - Name of the method to be Invoke from the end point <li> PARAMETERES - Parameters (if any) for calling remote method <li> SERIALIZATION - If user defined structured data types are used, provide serialization factory for the purpose of XML serialization  &amp; deserialization of data.</ul>
  
  <p>
  <dl compact><dt>
  <b><a class="el" href="todo.html#_todo000002">Todo: </a></b><dd>
  Support for WSDL document (on the constructor to the Service object)</dl>
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00078">78</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.<hr><h2>Member Enumeration Documentation</h2>
  <a name="s3" doxytag="Call::Mode"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  enum Call::Mode
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Mode of the each parameter: This is not supported yet???, default is setas IN.
  <p>
  <dl compact><dt>
  <b>Enumeration values:</b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><a name="s3s0" doxytag="IN_PARAM"></a><em>IN_PARAM</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s3s1" doxytag="OUT_PARAM"></a><em>OUT_PARAM</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s3s2" doxytag="IN_OUT_PARAM"></a><em>IN_OUT_PARAM</em>
  &nbsp;</td><td>
  </td></tr>
  </table>
  </dl>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00083">83</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Call::Call"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Call::Call (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create a Call object and initialize Message Context 
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00059">59</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Call::~Call"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Call::~Call (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Clean up the object for shutting down the Web service. 
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00070">70</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="Call::AddParameter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  void Call::AddParameter (
            </b></td>
            <td valign="bottom"><b>
  T &amp; <em>value</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classCall.html#s3">Mode</a> <em>mode</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Adds specified parameter without a name to the list of parameters for the operation associated with this Call object.
  <p>
  Adds the specified parameter to the list of parameters for the operation associated with this Call object. This method should be called by the client to pass parameters on the method; call should be made on this according to the order of parameters that should be passed on the method.
  <p>
  Store each param in a vector as name-value pair with the data type  Qualified name accord XML Schema Part 2 Datatype. <a class="el" href="classParam.html">Param</a> name is generated like arg0, arg1 etc. accordingh to it place in the vectore.
  <p>
  
  <p>
   <dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_Value</em>
  &nbsp;</td><td>
  Value of the param, rpresented genericly by typename </td></tr>
  <tr><td valign=top><em>p_Mode</em>
  &nbsp;</td><td>
  one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00139">139</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="Call::AddParameter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  void Call::AddParameter (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>p_pchName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  T &amp; <em>p_Value</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classCall.html#s3">Mode</a> <em>p_Mode</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Adds specified parameter to the list of parameters for the operation associated with this Call object.
  <p>
  Adds the specified parameter to the list of parameters for the operation associated with this Call object. This method should be called by the client to pass parameters on the method; call should be made on this according to the order of parameters that should be passed on the method.
  <p>
  Store each param in a vector as name-value pair with the data type  Qualified name according to XML Schema Part 2 Datatype.
  <p>
  
  <p>
   <dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_pchName</em>
  &nbsp;</td><td>
  Name that will be used for the parameter in the XML  representation. </td></tr>
  <tr><td valign=top><em>p_Value</em>
  &nbsp;</td><td>
  Value of the param, rpresented genericly by typename </td></tr>
  <tr><td valign=top><em>p_Mode</em>
  &nbsp;</td><td>
  one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00109">109</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a9" doxytag="Call::AddSerializerFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::AddSerializerFactory (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_sTypName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classSerializerFactory.html">SerializerFactory</a> * <em>p_pSer</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Set XML Mapping for user defined data types.
  <p>
  Map a type for XML serialization &amp; deserialization<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_sTypName</em>
  &nbsp;</td><td>
  Name that mapping is required as xsi:type QName of the  associated XML type. </td></tr>
  <tr><td valign=top><em>p_pSer</em>
  &nbsp;</td><td>
  A <a class="el" href="classSerializerFactory.html">SerializerFactory</a> factory which can create serializer /deserializer instances for this type. </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00125">125</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="c0" doxytag="Call::Cleanup"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::Cleanup (
            </b></td>
            <td valign="bottom"><b>
  )<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Clean up any memory associated with this call object.
  <p>
  Clean up on an exception 
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00235">235</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00185">Invoke</a>(), and <a class="el" href="Call_8cpp-source.html#l00070">~Call</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a11" doxytag="Call::ClearAllParams"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::ClearAllParams (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Clears the list of parameters.
  <p>
  Clears the list of parameters. 
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00179">179</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="Call::Invoke"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * Call::Invoke (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Invokes the operation associated with this Call object using info aready provided.
  <p>
  Invokes the operation associated with this Call object using the method name in method namespace already provided, Create RPCElements as body element using the vector of params (if any) for the method. All the exceptions of such calls are handle here; do we required to  pass such exceptions to the Client????
  <p>
  <dl compact><dt>
  <b>Returns: </b><dd>
  Result of the Invoke of remote method. The object handler is return as a void pinter which client required to explisitly cast in to the required data type. dynamic_cast&lt;..&gt; is strongly suggested. Client  require to clean up any memory associated with this returned obj.
  <p>
  </dl>
  <p>
  <dl compact><dt>
  <b><a class="el" href="todo.html#_todo000001">Todo: </a></b><dd>
  Manupulation of other return values;</dl> 
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00185">185</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00159">Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="Call::Invoke"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * Call::Invoke (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_sNs</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>p_sMethod</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Invokes the operation associated with this Call object using the method name in namespace.
  <p>
  Invokes the operation associated with this Call object using the Method namespace &amp; method name provided as the arguments.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_sNs</em>
  &nbsp;</td><td>
  Method namespace URI </td></tr>
  <tr><td valign=top><em>p_sMethod</em>
  &nbsp;</td><td>
  Method name (required)
  <p>
  </td></tr>
  </table>
  </dl><dl compact><dt>
  <b>Returns: </b><dd>
  Result of the Invoke of remote method. The object handler is return as a void pinter which client required to exlisitly cast in to the required data type. </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00159">159</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a10" doxytag="Call::SetEncodingStyle"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::SetEncodingStyle (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_sNsURI</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets the encoding style to the URL passed in.
  <p>
  Sets the encoding style to the URL passed in.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>Namespace</em>
  &nbsp;</td><td>
  URI of the encoding to use. </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00140">140</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="Call::SetMethodNamespaceURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::SetMethodNamespaceURI (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>p_pchOpNsURI</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  set the method namespace URI.
  <p>
  Sets the operation name associated Namespace URI with this Call object. The  validity of the operation namespace is not checked at this point.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_pchOpNsURI</em>
  &nbsp;</td><td>
  Namespace URI of the operation. </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00096">96</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a8" doxytag="Call::SetOperationName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::SetOperationName (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>p_pchOpName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets the operation name associated with this Call object.
  <p>
  Sets the operation name associated with this Call object. The validity of  the operation is not checked at this point.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_pchOpName</em>
  &nbsp;</td><td>
  Name of the operation. </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00082">82</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="Call::SetTargetEndpointAddress"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Call::SetTargetEndpointAddress (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>p_pchUrl</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Set romote address of the Web Service.
  <p>
  Sets the URL of the target Web Service.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_pchUrl</em>
  &nbsp;</td><td>
  of the target Web Service </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Call_8cpp-source.html#l00109">109</a> of file <a class="el" href="Call_8cpp-source.html">Call.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o4" doxytag="Call::m_EncStyle"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Call::m_EncStyle<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Encoding style.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00193">193</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="Call::m_ServerURL"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Call::m_ServerURL<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Remote address of the Web service.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00192">192</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o5" doxytag="Call::m_pClientCtx"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a> * Call::m_pClientCtx<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  SOAP Message handler.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00195">195</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="Call::m_strMethodNsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Call::m_strMethodNsURI<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Method namespace URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00191">191</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="Call::m_strOpName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Call::m_strOpName<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Operation/method name.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00190">190</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="Call::m_vArgs"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classParam.html">Param</a> *&gt; Call::m_vArgs&lt;<a class="el" href="classParam.html">Param</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Vectore of arguments.
  <p>
  
  <p>
  Definition at line <a class="el" href="Call_8hpp-source.html#l00189">189</a> of file <a class="el" href="Call_8hpp-source.html">Call.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Call_8hpp-source.html">Call.hpp</a><li><a class="el" href="Call_8cpp-source.html">Call.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannel-members.html
  
  Index: classChannel-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel Member List</h1>This is the complete list of members for <a class="el" href="classChannel.html">Channel</a>, including all inherited members.<ul>
  <li><a class="el" href="classChannel.html#a0">Channel</a>()
  <li><a class="el" href="classChannel.html#a3">Close</a>()
  <code> [inline]</code><li><a class="el" href="classChannel.html#c2">CloseChannel</a>()
  <code> [private]</code><li><a class="el" href="classChannel.html#c1">Error</a>(const char *err)
  <code> [private]</code><li><a class="el" href="classChannel.html#a6">GetLastError</a>()
  <code> [inline]</code><li><a class="el" href="classChannel.html#c0">Init</a>()
  <code> [private]</code><li><a class="el" href="classChannel.html#o3">m_LastErr</a>
  <code> [private]</code><li><a class="el" href="classChannel.html#o4">m_pTransportHandler</a>
  <code> [private]</code><li><a class="el" href="classChannel.html#o2">m_RemoteEnd</a>
  <code> [private]</code><li><a class="el" href="classChannel.html#o1">m_RemoteNode</a>
  <code> [private]</code><li><a class="el" href="classChannel.html#o0">m_Sock</a>
  <code> [private]</code><li><a class="el" href="classChannel.html#a2">Open</a>(std::string &amp;p_RemoteNode, unsigned short p_RemoteEnd)
  <li><a class="el" href="classChannel.html#a5">operator&lt;&lt;</a>(const std::string &amp;msg)
  <li><a class="el" href="classChannel.html#a4">operator&gt;&gt;</a>(std::string &amp;msg)
  <li><a class="el" href="classChannel.html#a7">SetTransportHandler</a>(Transport *transport)
  <code> [inline]</code><li><a class="el" href="classChannel.html#a1">~Channel</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannel.html
  
  Index: classChannel.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Channel class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Channel  Class Reference</h1>The primitive socket implementation for SOAP Envelops passing. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>&gt;</code>
  <p>
  <a href="classChannel-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a0">Channel</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a1">~Channel</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a2">Open</a> (std::string &amp;p_RemoteNode, unsigned short p_RemoteEnd)  throw (ChannelException)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Open a socket to a given remote node/server address with remote port.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a3">Close</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Close all open sockets and clean up.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const Channel&amp;&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a4">operator&gt;&gt;</a> (std::string &amp;msg)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Read from a open socket and store read message in msg.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const Channel&amp;&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a5">operator&lt;&lt;</a> (const std::string &amp;msg)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Write a given message (msg) to the end-point using the open socket.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a6">GetLastError</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Return last error (if any).</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#a7">SetTransportHandler</a> (<a class="el" href="classTransport.html">Transport</a> *transport)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Set the SOAP transport handler.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#c0">Init</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>OS specific initilization.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#c1">Error</a> (const char *err)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Report error on read/write.</em> <a href="#c1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#c2">CloseChannel</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Close &amp; clean-up the open socket/system resources.</em> <a href="#c2">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#o0">m_Sock</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Socket descriptor.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#o1">m_RemoteNode</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Remote address could be IP/host-name.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>unsigned short&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#o2">m_RemoteEnd</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Remote port number.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#o3">m_LastErr</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Last error as a string.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTransport.html">Transport</a>*&nbsp;</td><td valign=bottom><a class="el" href="classChannel.html#o4">m_pTransportHandler</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em><a class="el" href="classTransport.html">Transport</a> handler for validation purpose.</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  The primitive socket implementation for SOAP Envelops passing.
  <p>
  Implements primitive socket connection for all platforms, for sending/receiving SOAP Envelops with given transport; This implementation abstract the low-level communications.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00124">124</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Channel::Channel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Channel::Channel (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create a Channel &amp; initialize 
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00057">57</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Channel::~Channel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Channel::~Channel (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00062">62</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="Channel::Close"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Channel::Close (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Close all open sockets and clean up.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00134">134</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="c2" doxytag="Channel::CloseChannel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Channel::CloseChannel (
            </b></td>
            <td valign="bottom"><b>
  )<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Close &amp; clean-up the open socket/system resources.
  <p>
  Close, and clean-up any OS specific stuff 
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00259">259</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.
  <p>
  Referenced by <a class="el" href="Channel_8hpp-source.html#l00134">Close</a>(), <a class="el" href="Channel_8cpp-source.html#l00147">Init</a>(), <a class="el" href="Channel_8cpp-source.html#l00190">operator&lt;&lt;</a>(), <a class="el" href="Channel_8cpp-source.html#l00216">operator&gt;&gt;</a>(), and <a class="el" href="Channel_8cpp-source.html#l00062">~Channel</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="c1" doxytag="Channel::Error"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Channel::Error (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>err</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Report error on read/write.
  <p>
  Log any errors that cause on channel usage/initilaization 
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00282">282</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.
  <p>
  Referenced by <a class="el" href="Channel_8cpp-source.html#l00147">Init</a>(), <a class="el" href="Channel_8cpp-source.html#l00190">operator&lt;&lt;</a>(), and <a class="el" href="Channel_8cpp-source.html#l00216">operator&gt;&gt;</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="Channel::GetLastError"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; Channel::GetLastError (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Return last error (if any).
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00143">143</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="c0" doxytag="Channel::Init"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Channel::Init (
            </b></td>
            <td valign="bottom"><b>
  )<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  OS specific initilization.
  <p>
  OS specific initialization should do here
  <p>
  <dl compact><dt>
  <b>Returns: </b><dd>
  true if successfuly initilaize OS specific stuffs. false o/w </dl>
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00147">147</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="Channel::Open"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Channel::Open (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>p_RemoteNode</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  unsigned short <em>p_RemoteEnd</em>&nbsp;)  throw (<a class="el" href="classChannelException.html">ChannelException</a>)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Open a socket to a given remote node/server address with remote port.
  <p>
  This channel open INET channel for the time being using primitive sockets Do we need any other type of channel; like shared memory, pipes etc. ????<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_RemoteNode</em>
  &nbsp;</td><td>
  End point address as hostname/IP </td></tr>
  <tr><td valign=top><em>p_RemoteEnd</em>
  &nbsp;</td><td>
  Port #
  <p>
  </td></tr>
  </table>
  </dl><dl compact><dt>
  <b>Returns: </b><dd>
  true if successfuly open a soket to the endpoint. o/w exception is thrown </dl>
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00078">78</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="Channel::SetTransportHandler"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Channel::SetTransportHandler (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTransport.html">Transport</a> * <em>transport</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Set the SOAP transport handler.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00146">146</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="Channel::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const Channel &amp; Channel::operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>msg</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Write a given message (msg) to the end-point using the open socket.
  <p>
  Write/send a message to the remote server; sending blocks the app. we may need to do this asynchronizely; preferably either non-blocking send or pthread.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>Message</em>
  &nbsp;</td><td>
  to be written to the open channel </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00190">190</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="Channel::operator>>"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const Channel &amp; Channel::operator&gt;&gt; (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>msg</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Read from a open socket and store read message in msg.
  <p>
  Read/receive a message from the remote server; reading may be done in chunks.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>string</em>
  &nbsp;</td><td>
  to hold the read Message </td></tr>
  </table>
  </dl>
  <p>
  Definition at line <a class="el" href="Channel_8cpp-source.html#l00216">216</a> of file <a class="el" href="Channel_8cpp-source.html">Channel.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o3" doxytag="Channel::m_LastErr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Channel::m_LastErr<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Last error as a string.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00161">161</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="Channel::m_RemoteEnd"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned short Channel::m_RemoteEnd<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Remote port number.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00160">160</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="Channel::m_RemoteNode"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Channel::m_RemoteNode<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Remote address could be IP/host-name.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00159">159</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="Channel::m_Sock"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned int Channel::m_Sock<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Socket descriptor.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00158">158</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="Channel::m_pTransportHandler"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTransport.html">Transport</a> * Channel::m_pTransportHandler<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <a class="el" href="classTransport.html">Transport</a> handler for validation purpose.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00163">163</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Channel_8hpp-source.html">Channel.hpp</a><li><a class="el" href="Channel_8cpp-source.html">Channel.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannelException-members.html
  
  Index: classChannelException-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ChannelException Member List</h1>This is the complete list of members for <a class="el" href="classChannelException.html">ChannelException</a>, including all inherited members.<ul>
  <li><a class="el" href="classChannelException.html#a0">ChannelException</a>(std::string p_Err)
  <code> [inline]</code><li><a class="el" href="classChannelException.html#a2">GetErr</a>()
  <code> [inline]</code><li><a class="el" href="classChannelException.html#o0">m_Error</a>
  <code> [private]</code><li><a class="el" href="classChannelException.html#a1">~ChannelException</a>()
  <code> [inline]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classChannelException.html
  
  Index: classChannelException.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ChannelException class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ChannelException  Class Reference</h1>The primitive socket exception for tranport layer to handle. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>&gt;</code>
  <p>
  <a href="classChannelException-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classChannelException.html#a0">ChannelException</a> (std::string p_Err)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create with a possible cause of the exception.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classChannelException.html#a1">~ChannelException</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classChannelException.html#a2">GetErr</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Return the cause of exception.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classChannelException.html#o0">m_Error</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>cause of exception.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  The primitive socket exception for tranport layer to handle.
  <p>
  Implements primitive socket exceptions that should be handle by the transport that the SOAP message is carring
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00094">94</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="ChannelException::ChannelException"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ChannelException::ChannelException (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>p_Err</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create with a possible cause of the exception.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00098">98</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="ChannelException::~ChannelException"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ChannelException::~ChannelException (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00099">99</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a2" doxytag="ChannelException::GetErr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; ChannelException::GetErr (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Return the cause of exception.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00102">102</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="ChannelException::m_Error"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string ChannelException::m_Error<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  cause of exception.
  <p>
  
  <p>
  Definition at line <a class="el" href="Channel_8hpp-source.html#l00106">106</a> of file <a class="el" href="Channel_8hpp-source.html">Channel.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="Channel_8hpp-source.html">Channel.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classErrorHandler.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classErrorHandler.html
  
  Index: classErrorHandler.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ErrorHandler class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ErrorHandler  Class Reference</h1><p>Inheritance diagram for ErrorHandler::
  <p><center><img src="classErrorHandler.gif" usemap="#ErrorHandler_map" border="0"></center>
  <map name="ErrorHandler_map">
  <area href="classParseErrorHandler.html" alt="ParseErrorHandler" shape="rect" coords="0,56,120,80">
  </map>
  <table border=0 cellpadding=0 cellspacing=0>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport-members.html
  
  Index: classHttpTransport-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport Member List</h1>This is the complete list of members for <a class="el" href="classHttpTransport.html">HttpTransport</a>, including all inherited members.<ul>
  <li><a class="el" href="classHttpTransport.html#c3">Error</a>(const char *err)
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#c2">GetPayLoad</a>(const std::string &amp;p_HttpPacket, std::string::size_type &amp;offset)
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#a4">GetStatus</a>(const std::string &amp;p_HttpPacket)
  <code> [virtual]</code><li><a class="el" href="classHttpTransport.html#u0">Header_t</a> typedef
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#c0">HTTPBind</a>(const std::string &amp;p_Payload)
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#a0">HttpTransport</a>(Url url)
  <code> [inline]</code><li><a class="el" href="classHttpTransport.html#a1">HttpTransport</a>(std::string &amp;strUrl)
  <code> [inline]</code><li><a class="el" href="classHttpTransport.html#c1">HTTPValidate</a>(const std::string &amp;p_HttpPacket)
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#a3">Init</a>()
  <code> [virtual]</code><li><a class="el" href="classHttpTransport.html#o4">m_AdditionalHeader</a>
  <code> [private]</code><li><a class="el" href="classTransport.html#n3">m_bStatus</a>
  <code> [protected]</code><li><a class="el" href="classTransport.html#n2">m_Channel</a>
  <code> [protected]</code><li><a class="el" href="classHttpTransport.html#o2">m_InMsg</a>
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#o1">m_OutMsg</a>
  <code> [private]</code><li><a class="el" href="classHttpTransport.html#o3">m_PayLoad</a>
  <code> [private]</code><li><a class="el" href="classTransport.html#n1">m_strUrl</a>
  <code> [protected]</code><li><a class="el" href="classHttpTransport.html#o0">m_Typ</a>
  <code> [private]</code><li><a class="el" href="classTransport.html#n0">m_Url</a>
  <code> [protected]</code><li><a class="el" href="classHttpTransport.html#s2s1">MPOST</a> enum value
  <li><a class="el" href="classHttpTransport.html#a7">operator&lt;&lt;</a>(const std::string &amp;p_Payload)
  <code> [virtual]</code><li><a class="el" href="classHttpTransport.html#a6">operator&gt;&gt;</a>(std::string &amp;p_Payload)
  <code> [virtual]</code><li><a class="el" href="classHttpTransport.html#s2s0">POST</a> enum value
  <li><a class="el" href="classHttpTransport.html#a5">SetProperty</a>(const std::string &amp;p_Property, const std::string &amp;p_Value)
  <code> [virtual]</code><li><a class="el" href="classTransport.html#a0">Transport</a>()
  <li><a class="el" href="classHttpTransport.html#s2">Type</a> enum name
  <li><a class="el" href="classHttpTransport.html#a2">~HttpTransport</a>()
  <li><a class="el" href="classTransport.html#a1">~Transport</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classHttpTransport.html
  
  Index: classHttpTransport.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>HttpTransport class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>HttpTransport  Class Reference</h1>The HTTP transport implementation for SOAP. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for HttpTransport::
  <p><center><img src="classHttpTransport.gif" usemap="#HttpTransport_map" border="0"></center>
  <map name="HttpTransport_map">
  <area href="classTransport.html" alt="Transport" shape="rect" coords="0,0,88,24">
  </map>
  <a href="classHttpTransport-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#s2">Type</a> { <a class="el" href="classHttpTransport.html#s2s0">POST</a>, 
  <a class="el" href="classHttpTransport.html#s2s1">MPOST</a>
   }</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>HTTP category, Only POST is used currently, MPOST is not supported yet.</em> <a href="#s2">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a0">HttpTransport</a> (<a class="el" href="classUrl.html">Url</a> url)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create HTTP transport with provided URL as remote address, set HTTP category default to POST.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a1">HttpTransport</a> (std::string &amp;strUrl)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create HTTP transport with provided remote address as URL-string, set HTTP category default to POST.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a2">~HttpTransport</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a3">Init</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Initialize HTTP transport by establishing a channel to the remote end.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a4">GetStatus</a> (const std::string &amp;p_HttpPacket)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Obtain the status of the HTTP packet validity.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a5">SetProperty</a> (const std::string &amp;p_Property, const std::string &amp;p_Value)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Set properties of HTTP transport such as additional Header fields like SOAPAction.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classTransport.html">Transport</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a6">operator&gt;&gt;</a> (std::string &amp;p_Payload)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Read from a HTTP transport handler and store read payload.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classTransport.html">Transport</a>&amp;&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#a7">operator&lt;&lt;</a> (const std::string &amp;p_Payload)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Write a given payload by using HTTP transport as carrier.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>typedef std::vector&lt; std::pair&lt;<br>
  std::string, std::string&gt; &gt;&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#u0">Header_t</a></td></tr>
  <tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#c0">HTTPBind</a> (const std::string &amp;p_Payload)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Build a HTTP packet with a given payload &amp; additional HTTP properties.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#c1">HTTPValidate</a> (const std::string &amp;p_HttpPacket)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Validate HTTP packets received from the channel.</em> <a href="#c1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#c2">GetPayLoad</a> (const std::string &amp;p_HttpPacket, std::string::size_type &amp;offset)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Extract payload from the HTTP packet starting from a given offset.</em> <a href="#c2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#c3">Error</a> (const char *err)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Report error on read/write.</em> <a href="#c3">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classHttpTransport.html#s2">Type</a>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#o0">m_Typ</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Type of the HTTP; POST or MPOST.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classstd_1_1ostringstream.html">std::ostringstream</a>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#o1">m_OutMsg</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Holds outgoing HTTP packet.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::istringstream&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#o2">m_InMsg</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Holds incoming HTTP packet.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#o3">m_PayLoad</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Holds the payload.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classHttpTransport.html#u0">Header_t</a>&nbsp;</td><td valign=bottom><a class="el" href="classHttpTransport.html#o4">m_AdditionalHeader</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Additional Header fields as name value pairs.</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  The HTTP transport implementation for SOAP.
  <p>
  Implements HTTP transport as SOAP-Envelop carrier, for sending/receiving SOAP messages with HTTP 1.1/1.0; This implementation abstract the <a class="el" href="classTransport.html">Transport</a> layer for the SOAP payloads
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00066">66</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.<hr><h2>Member Typedef Documentation</h2>
  <a name="u0" doxytag="HttpTransport::Header_t"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  typedef std::vector&lt; std::pair&lt; std::string, std::string &gt; &gt; HttpTransport::Header_t&lt; std::pair&lt;std::string, std::string&gt; &gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00109">109</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Enumeration Documentation</h2>
  <a name="s2" doxytag="HttpTransport::Type"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  enum HttpTransport::Type
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  HTTP category, Only POST is used currently, MPOST is not supported yet.
  <p>
  <dl compact><dt>
  <b>Enumeration values:</b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><a name="s2s0" doxytag="POST"></a><em>POST</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s2s1" doxytag="MPOST"></a><em>MPOST</em>
  &nbsp;</td><td>
  </td></tr>
  </table>
  </dl>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00070">70</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="HttpTransport::HttpTransport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  HttpTransport::HttpTransport (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classUrl.html">Url</a> <em>url</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create HTTP transport with provided URL as remote address, set HTTP category default to POST.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00073">73</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="HttpTransport::HttpTransport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  HttpTransport::HttpTransport (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>strUrl</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create HTTP transport with provided remote address as URL-string, set HTTP category default to POST.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00076">76</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="HttpTransport::~HttpTransport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  HttpTransport::~HttpTransport (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Shutdown any established channel 
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00055">55</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="c3" doxytag="HttpTransport::Error"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void HttpTransport::Error (
            </b></td>
            <td valign="bottom"><b>
  const char * <em>err</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Report error on read/write.
  <p>
  Report error on read/write 
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00313">313</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.
  <p>
  Referenced by <a class="el" href="HttpTransport_8cpp-source.html#l00211">HTTPValidate</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="c2" doxytag="HttpTransport::GetPayLoad"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void HttpTransport::GetPayLoad (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_HttpPacket</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  std::string::size_type &amp; <em>offset</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Extract payload from the HTTP packet starting from a given offset.
  <p>
  Extract payload from the HTTP packet starting from a given offset 
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00280">280</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.
  <p>
  Referenced by <a class="el" href="HttpTransport_8cpp-source.html#l00211">HTTPValidate</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="HttpTransport::GetStatus"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool HttpTransport::GetStatus (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_HttpPacket</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Obtain the status of the HTTP packet validity.
  <p>
  Obtain the status of the HTTP packet validity.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_HttpPacket</em>
  &nbsp;</td><td>
  HTTP packet
  <p>
  </td></tr>
  </table>
  </dl><dl compact><dt>
  <b>Returns: </b><dd>
  Status of the HTTP packet validity. </dl>
  <p>
  Reimplemented from <a class="el" href="classTransport.html#a3">Transport</a>.
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00196">196</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <a name="c0" doxytag="HttpTransport::HTTPBind"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void HttpTransport::HTTPBind (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Payload</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Build a HTTP packet with a given payload &amp; additional HTTP properties.
  <p>
  Build a HTTP packet with a given payload &amp; additional HTTP properties Uses HTTP 1.1; if HTTP 1.0 is required we have to manage with setting  the properties. Only POST is supported for the time being; hope to support M-POST 
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00160">160</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.
  <p>
  Referenced by <a class="el" href="HttpTransport_8cpp-source.html#l00137">operator&lt;&lt;</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="c1" doxytag="HttpTransport::HTTPValidate"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void HttpTransport::HTTPValidate (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_HttpPacket</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Validate HTTP packets received from the channel.
  <p>
  Validate HTTP packets received from the channel.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_HttpPacket</em>
  &nbsp;</td><td>
  HTTP packet
  <p>
  </td></tr>
  </table>
  </dl><dl compact><dt>
  <b>Returns: </b><dd>
  Status code is set </dl>
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00211">211</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.
  <p>
  Referenced by <a class="el" href="HttpTransport_8cpp-source.html#l00196">GetStatus</a>(), and <a class="el" href="HttpTransport_8cpp-source.html#l00106">operator&gt;&gt;</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="HttpTransport::Init"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool HttpTransport::Init (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Initialize HTTP transport by establishing a channel to the remote end.
  <p>
  Initialize HTTP transport by establishing a channel to the remote end.
  <p>
  <dl compact><dt>
  <b>Returns: </b><dd>
  Status of the channel establishment to the remote end provided by m_Url @trows <a class="el" href="classChannel.html">Channel</a> Exception </dl>
  <p>
  Reimplemented from <a class="el" href="classTransport.html#a2">Transport</a>.
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00067">67</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="HttpTransport::SetProperty"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void HttpTransport::SetProperty (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Property</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>p_Value</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Set properties of HTTP transport such as additional Header fields like SOAPAction.
  <p>
  Set properties of HTTP transport such as additional Header fields like SOAPAction.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_Property</em>
  &nbsp;</td><td>
  Property name; such as SOAPAction </td></tr>
  <tr><td valign=top><em>p_Value</em>
  &nbsp;</td><td>
  Property value </td></tr>
  </table>
  </dl>
  <p>
  Reimplemented from <a class="el" href="classTransport.html#a4">Transport</a>.
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00093">93</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="HttpTransport::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classTransport.html">Transport</a> &amp; HttpTransport::operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Payload</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Write a given payload by using HTTP transport as carrier.
  <p>
  Write a given payload to the established channel by using HTTP transport as carrier. 
  <p>
  Reimplemented from <a class="el" href="classTransport.html#a6">Transport</a>.
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00137">137</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="HttpTransport::operator>>"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classTransport.html">Transport</a> &amp; HttpTransport::operator&gt;&gt; (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>p_Payload</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Read from a HTTP transport handler and store read payload.
  <p>
  Read from a HTTP transport handler and store read payload.<dl compact><dt>
  <b>Parameters: </b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><em>p_Payload</em>
  &nbsp;</td><td>
  SOAP Envelop as Payload for HTTP transport </td></tr>
  </table>
  </dl>
  <p>
  Reimplemented from <a class="el" href="classTransport.html#a5">Transport</a>.
  <p>
  Definition at line <a class="el" href="HttpTransport_8cpp-source.html#l00106">106</a> of file <a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o4" doxytag="HttpTransport::m_AdditionalHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classHttpTransport.html#u0">Header_t</a> HttpTransport::m_AdditionalHeader<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Additional Header fields as name value pairs.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00117">117</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="HttpTransport::m_InMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::istringstream HttpTransport::m_InMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Holds incoming HTTP packet.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00114">114</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="HttpTransport::m_OutMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classstd_1_1ostringstream.html">std::ostringstream</a> HttpTransport::m_OutMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Holds outgoing HTTP packet.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00113">113</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="HttpTransport::m_PayLoad"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string HttpTransport::m_PayLoad<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Holds the payload.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00116">116</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="HttpTransport::m_Typ"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classHttpTransport.html#s2">Type</a> HttpTransport::m_Typ<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Type of the HTTP; POST or MPOST.
  <p>
  
  <p>
  Definition at line <a class="el" href="HttpTransport_8hpp-source.html#l00111">111</a> of file <a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="HttpTransport_8hpp-source.html">HttpTransport.hpp</a><li><a class="el" href="HttpTransport_8cpp-source.html">HttpTransport.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement-members.html
  
  Index: classMessageElement-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement Member List</h1>This is the complete list of members for <a class="el" href="classMessageElement.html">MessageElement</a>, including all inherited members.<ul>
  <li><a class="el" href="classMessageElement.html#a8">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a4">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#a5">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classMessageElement.html
  
  Index: classMessageElement.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>MessageElement class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>MessageElement  Class Reference</h1>Base class of all SOAP message components. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for MessageElement::
  <p><center><img src="classMessageElement.gif" usemap="#MessageElement_map" border="0"></center>
  <map name="MessageElement_map">
  <area href="classRPCElement.html" alt="RPCElement" shape="rect" coords="0,56,120,80">
  <area href="classSOAPBodyElement.html" alt="SOAPBodyElement" shape="rect" coords="130,56,250,80">
  <area href="classSOAPEnvelope.html" alt="SOAPEnvelope" shape="rect" coords="260,56,380,80">
  <area href="classSOAPFaultElement.html" alt="SOAPFaultElement" shape="rect" coords="390,56,510,80">
  <area href="classSOAPHeader.html" alt="SOAPHeader" shape="rect" coords="520,56,640,80">
  </map>
  <a href="classMessageElement-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a0">MessageElement</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the MessageElement.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a1">MessageElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Construct from a DOM Element.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a2">MessageElement</a> (const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the MessageElement.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a3">~MessageElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a4">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize MessageElement.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a5">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize MessageElement.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a6">SetMsgElm</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets MessageElement associated DOM Element.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a7">SetElmQName</a> (const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;p_qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets MessageElement Qualified name.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a8">AddMsgElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add any MessageElement as childs by associating corresponded DOM Element.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual <a class="el" href="classax_1_1QName.html">ax::QName</a>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#a9">GetElmQName</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get the Qualified name of this MessageElement.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n0">m_Name</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Name or Localpart of this MessageElement.</em> <a href="#n0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n1">prefix</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace prefix of this MessageElement.</em> <a href="#n1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n2">m_NsURI</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace URI of this MessageElement.</em> <a href="#n2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Element&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n3">m_pElmNode</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Associated DOM Element.</em> <a href="#n3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classAttList.html">AttList</a>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n4">m_AttLst</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Associated Arributes.</em> <a href="#n4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classax_1_1QName.html">ax::QName</a>&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n5">m_qName</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Qualified name of this MessageElement.</em> <a href="#n5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classMessageElement.html#n6">m_Msg</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Base class of all SOAP message components.
  <p>
  Base class of all SOAP message components; components are Envelop, Header, Body (including RPC element &amp; Fault element),  There is a one-to-one mapping between MessageElement and DOM-Element for a given SOAP envelop.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00067">67</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="MessageElement::MessageElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  MessageElement::MessageElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8cpp-source.html#l00049">49</a> of file <a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="MessageElement::MessageElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  MessageElement::MessageElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Construct from a DOM Element.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8cpp-source.html#l00059">59</a> of file <a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="MessageElement::MessageElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  MessageElement::MessageElement (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Ns</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>p_LocalPart</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8cpp-source.html#l00066">66</a> of file <a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="MessageElement::~MessageElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  MessageElement::~MessageElement (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8cpp-source.html#l00054">54</a> of file <a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a8" doxytag="MessageElement::AddMsgElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void MessageElement::AddMsgElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add any MessageElement as childs by associating corresponded DOM Element.
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classRPCElement.html#a4">RPCElement</a>, <a class="el" href="classSOAPBodyElement.html#a4">SOAPBodyElement</a>, <a class="el" href="classSOAPEnvelope.html#a7">SOAPEnvelope</a>, and <a class="el" href="classSOAPFaultElement.html#a3">SOAPFaultElement</a>.
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00093">93</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLDeSerializer_8cpp-source.html#l00131">XMLDeSerializer::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="MessageElement::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void MessageElement::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize MessageElement.
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classRPCElement.html#a6">RPCElement</a>, <a class="el" href="classSOAPBodyElement.html#a7">SOAPBodyElement</a>, <a class="el" href="classSOAPEnvelope.html#a10">SOAPEnvelope</a>, <a class="el" href="classSOAPFaultElement.html#a5">SOAPFaultElement</a>, and <a class="el" href="classSOAPHeader.html#a4">SOAPHeader</a>.
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00081">81</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a9" doxytag="MessageElement::GetElmQName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">ax::QName</a> MessageElement::GetElmQName (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get the Qualified name of this MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00096">96</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLDeSerializer_8cpp-source.html#l00131">XMLDeSerializer::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="MessageElement::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void MessageElement::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize MessageElement.
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classRPCElement.html#a5">RPCElement</a>, <a class="el" href="classSOAPBodyElement.html#a6">SOAPBodyElement</a>, <a class="el" href="classSOAPEnvelope.html#a9">SOAPEnvelope</a>, <a class="el" href="classSOAPFaultElement.html#a4">SOAPFaultElement</a>, and <a class="el" href="classSOAPHeader.html#a3">SOAPHeader</a>.
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00084">84</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="MessageElement::SetElmQName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void MessageElement::SetElmQName (
            </b></td>
            <td valign="bottom"><b>
  const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>p_qName</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets MessageElement Qualified name.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00090">90</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="MessageElement::SetMsgElm"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void MessageElement::SetMsgElm (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets MessageElement associated DOM Element.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8cpp-source.html#l00073">73</a> of file <a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPFaultElement_8cpp-source.html#l00071">SOAPFaultElement::AddMsgElement</a>(), <a class="el" href="RPCElement_8cpp-source.html#l00092">RPCElement::AddMsgElement</a>(), <a class="el" href="RPCElement_8cpp-source.html#l00073">RPCElement::RPCElement</a>(), <a class="el" href="SOAPBodyElement_8cpp-source.html#l00066">SOAPBodyElement::SOAPBodyElement</a>(), <a class="el" href="SOAPEnvelope_8cpp-source.html#l00059">SOAPEnvelope::SOAPEnvelope</a>(), <a class="el" href="SOAPFaultElement_8cpp-source.html#l00060">SOAPFaultElement::SOAPFaultElement</a>(), and <a class="el" href="SOAPHeader_8cpp-source.html#l00058">SOAPHeader::SOAPHeader</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="n4" doxytag="MessageElement::m_AttLst"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classAttList.html">AttList</a> MessageElement::m_AttLst<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Associated Arributes.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00104">104</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n6" doxytag="MessageElement::m_Msg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string MessageElement::m_Msg<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00108">108</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n0" doxytag="MessageElement::m_Name"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string MessageElement::m_Name<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Name or Localpart of this MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00099">99</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n2" doxytag="MessageElement::m_NsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string MessageElement::m_NsURI<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Namespace URI of this MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00101">101</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n3" doxytag="MessageElement::m_pElmNode"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Element MessageElement::m_pElmNode<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Associated DOM Element.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00103">103</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n5" doxytag="MessageElement::m_qName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">ax::QName</a> MessageElement::m_qName<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Qualified name of this MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00106">106</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n1" doxytag="MessageElement::prefix"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string MessageElement::prefix<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Namespace prefix of this MessageElement.
  <p>
  
  <p>
  Definition at line <a class="el" href="MessageElement_8hpp-source.html#l00100">100</a> of file <a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="MessageElement_8hpp-source.html">MessageElement.hpp</a><li><a class="el" href="MessageElement_8cpp-source.html">MessageElement.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap-members.html
  
  Index: classNsMap-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsMap Member List</h1>This is the complete list of members for <a class="el" href="classNsMap.html">NsMap</a>, including all inherited members.<ul>
  <li><a class="el" href="classNsMap.html#a1">findPrefix</a>(const std::string &amp;prefex)
  <li><a class="el" href="classNsMap.html#a0">findURI</a>(const std::string &amp;uri)
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap.html
  
  Index: classNsMap.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsMap class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsMap  Class Reference</h1>Namespace map for building a SOAP Envelop. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for NsMap::
  <p><center><img src="classNsMap.gif" usemap="#NsMap_map" border="0"></center>
  <map name="NsMap_map">
  <area href="classNsMap__t.html" alt="NsMap_t" shape="rect" coords="0,0,62,24">
  </map>
  <a href="classNsMap-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classNsMap.html#a0">findURI</a> (const std::string &amp;uri)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Finds namespace URI in the map.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classNsMap.html#a1">findPrefix</a> (const std::string &amp;prefex)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Find namaspace prefix in the map.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Namespace map for building a SOAP Envelop.
  <p>
  Namespace map for building a SOAP Envelop; each namespace prefix has associated namespace URI. Derived from std::map 
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00063">63</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.<hr><h2>Member Function Documentation</h2>
  <a name="a1" doxytag="NsMap::findPrefix"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string NsMap::findPrefix (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>prefex</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Find namaspace prefix in the map.
  <p>
  Find namaspace prefix in the map 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00066">66</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a0" doxytag="NsMap::findURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string NsMap::findURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>uri</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Finds namespace URI in the map.
  <p>
  Finds namespace URI in the map 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00052">52</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a><li><a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap__t.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsMap__t.html
  
  Index: classNsMap__t.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsMap_t class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsMap_t  Class Reference</h1><p>Inheritance diagram for NsMap_t::
  <p><center><img src="classNsMap__t.gif" usemap="#NsMap_t_map" border="0"></center>
  <map name="NsMap_t_map">
  <area href="classNsMap.html" alt="NsMap" shape="rect" coords="0,56,62,80">
  </map>
  <table border=0 cellpadding=0 cellspacing=0>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsStack-members.html
  
  Index: classNsStack-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack Member List</h1>This is the complete list of members for <a class="el" href="classNsStack.html">NsStack</a>, including all inherited members.<ul>
  <li><a class="el" href="classNsStack.html#a1">Add</a>(const std::string &amp;uri, const std::string &amp;prefix)
  <li><a class="el" href="classNsStack.html#a6">GetNamespaceURI</a>(const std::string &amp;prefix)
  <li><a class="el" href="classNsStack.html#a5">GetPrefix</a>(const std::string &amp;namespaceURI)
  <li><a class="el" href="classNsStack.html#o1">Indx</a>
  <code> [private]</code><li><a class="el" href="classNsStack.html#o0">Ns</a>
  <code> [private]</code><li><a class="el" href="classNsStack.html#a0">NsStack</a>()
  <code> [inline]</code><li><a class="el" href="classNsStack.html#a3">Peek</a>()
  <li><a class="el" href="classNsStack.html#a4">Pop</a>()
  <li><a class="el" href="classNsStack.html#a2">Push</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classNsStack.html
  
  Index: classNsStack.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>NsStack class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>NsStack  Class Reference</h1>Namespace stack for building a SOAP Envelop. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>&gt;</code>
  <p>
  <a href="classNsStack-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a0">NsStack</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the NsStack.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a1">Add</a> (const std::string &amp;uri, const std::string &amp;prefix)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add namesppace prefix for a URI.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a2">Push</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>push an empty map on the stack.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classNsMap.html">NsMap</a>*&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a3">Peek</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get map at the top.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a4">Pop</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Pop a namespace mapping.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a5">GetPrefix</a> (const std::string &amp;namespaceURI)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get a prefix for a given namespace URI.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#a6">GetNamespaceURI</a> (const std::string &amp;prefix)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get a namespace URI for a prefix.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classNsMap.html">NsMap</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#o0">Ns</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Holds stack elements.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classNsStack.html#o1">Indx</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Current index of the top.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Namespace stack for building a SOAP Envelop.
  <p>
  Namespace stack for building a SOAP Envelop; each namespace prefix has associated namespace URI. 
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00080">80</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="NsStack::NsStack"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  NsStack::NsStack (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the NsStack.
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00084">84</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a1" doxytag="NsStack::Add"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void NsStack::Add (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>uri</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>prefix</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add namesppace prefix for a URI.
  <p>
  Add namesppace prefix mapping for a URI 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00079">79</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00157">XMLSerializer::RegisterPrefixForURI</a>(), and <a class="el" href="XMLDeSerializer_8cpp-source.html#l00162">XMLDeSerializer::RegisterPrefixForURI</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="NsStack::GetNamespaceURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string NsStack::GetNamespaceURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>prefix</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get a namespace URI for a prefix.
  <p>
  Get a namespace URI for a prefix. 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00149">149</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLDeSerializer_8cpp-source.html#l00152">XMLDeSerializer::GetQNameFromStr</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="NsStack::GetPrefix"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string NsStack::GetPrefix (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>namespaceURI</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get a prefix for a given namespace URI.
  <p>
  Get a prefix for a given namespace URI 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00133">133</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00169">XMLSerializer::GetPrefixForURI</a>(), and <a class="el" href="XMLDeSerializer_8cpp-source.html#l00167">XMLDeSerializer::QNameToStr</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="NsStack::Peek"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classNsMap.html">NsMap</a> * NsStack::Peek (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get map at the top.
  <p>
  Get map at the top of the stack 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00110">110</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="NsStack_8cpp-source.html#l00079">Add</a>(), and <a class="el" href="XMLSerializer_8cpp-source.html#l00108">XMLSerializer::Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="NsStack::Pop"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void NsStack::Pop (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Pop a namespace mapping.
  <p>
  Remove a namespace mapping 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00119">119</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00145">XMLSerializer::EndElem</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="NsStack::Push"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void NsStack::Push (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  push an empty map on the stack.
  <p>
  push an empty map on the stack 
  <p>
  Definition at line <a class="el" href="NsStack_8cpp-source.html#l00098">98</a> of file <a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00108">XMLSerializer::Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o1" doxytag="NsStack::Indx"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  int NsStack::Indx<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Current index of the top.
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00106">106</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="NsStack::Ns"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classNsMap.html">NsMap</a> &gt; NsStack::Ns&lt;<a class="el" href="classNsMap.html">NsMap</a>&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Holds stack elements.
  <p>
  
  <p>
  Definition at line <a class="el" href="NsStack_8hpp-source.html#l00105">105</a> of file <a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="NsStack_8hpp-source.html">NsStack.hpp</a><li><a class="el" href="NsStack_8cpp-source.html">NsStack.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classParam-members.html
  
  Index: classParam-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param Member List</h1>This is the complete list of members for <a class="el" href="classParam.html">Param</a>, including all inherited members.<ul>
  <li><a class="el" href="classParam.html#m2">m_Name</a>
  <li><a class="el" href="classParam.html#m1">m_pType</a>
  <li><a class="el" href="classParam.html#m0">m_pValue</a>
  <li><a class="el" href="classParam.html#a0">Param</a>()
  <li><a class="el" href="classParam.html#a1">~Param</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classParam.html
  
  Index: classParam.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Param class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Param  Class Reference</h1>Parameters for SOAP - RPC. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Param_8hpp-source.html">Param.hpp</a>&gt;</code>
  <p>
  <a href="classParam-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classParam.html#a0">Param</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classParam.html#a1">~Param</a> ()</td></tr>
  <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classParam.html#m0">m_pValue</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Data associated with this aprameter.</em> <a href="#m0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classax_1_1QName.html">ax::QName</a>*&nbsp;</td><td valign=bottom><a class="el" href="classParam.html#m1">m_pType</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>XML schema datatype as qualified name.</em> <a href="#m1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classParam.html#m2">m_Name</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Name of the parameter.</em> <a href="#m2">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Parameters for SOAP - RPC.
  <p>
  Parameters for SOAP - RPC; contain XML schema datatype as a Qualified  Name and relavent data 
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8hpp-source.html#l00058">58</a> of file <a class="el" href="Param_8hpp-source.html">Param.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Param::Param"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Param::Param (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8cpp-source.html#l00049">49</a> of file <a class="el" href="Param_8cpp-source.html">Param.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Param::~Param"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Param::~Param (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8cpp-source.html#l00055">55</a> of file <a class="el" href="Param_8cpp-source.html">Param.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="m2" doxytag="Param::m_Name"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Param::m_Name
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Name of the parameter.
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8hpp-source.html#l00066">66</a> of file <a class="el" href="Param_8hpp-source.html">Param.hpp</a>.    </td>
    </tr>
  </table>
  <a name="m1" doxytag="Param::m_pType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">ax::QName</a> * Param::m_pType
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  XML schema datatype as qualified name.
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8hpp-source.html#l00065">65</a> of file <a class="el" href="Param_8hpp-source.html">Param.hpp</a>.    </td>
    </tr>
  </table>
  <a name="m0" doxytag="Param::m_pValue"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * Param::m_pValue
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Data associated with this aprameter.
  <p>
  
  <p>
  Definition at line <a class="el" href="Param_8hpp-source.html#l00064">64</a> of file <a class="el" href="Param_8hpp-source.html">Param.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Param_8hpp-source.html">Param.hpp</a><li><a class="el" href="Param_8cpp-source.html">Param.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler-members.html
  
  Index: classParseErrorHandler-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ParseErrorHandler Member List</h1>This is the complete list of members for <a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a>, including all inherited members.<ul>
  <li><a class="el" href="classParseErrorHandler.html#a1">error</a>(const SAXParseException &amp;e)
  <li><a class="el" href="classParseErrorHandler.html#a2">fatalError</a>(const SAXParseException &amp;e)
  <li><a class="el" href="classParseErrorHandler.html#a3">resetErrors</a>()
  <code> [inline]</code><li><a class="el" href="classParseErrorHandler.html#a0">warning</a>(const SAXParseException &amp;e)
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classParseErrorHandler.html
  
  Index: classParseErrorHandler.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ParseErrorHandler class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ParseErrorHandler  Class Reference</h1><code>#include &lt;<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for ParseErrorHandler::
  <p><center><img src="classParseErrorHandler.gif" usemap="#ParseErrorHandler_map" border="0"></center>
  <map name="ParseErrorHandler_map">
  <area href="classErrorHandler.html" alt="ErrorHandler" shape="rect" coords="0,0,120,24">
  </map>
  <a href="classParseErrorHandler-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classParseErrorHandler.html#a0">warning</a> (const SAXParseException &amp;e)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classParseErrorHandler.html#a1">error</a> (const SAXParseException &amp;e)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classParseErrorHandler.html#a2">fatalError</a> (const SAXParseException &amp;e)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classParseErrorHandler.html#a3">resetErrors</a> ()</td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  XML parser error handler implementation 
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00125">125</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.<hr><h2>Member Function Documentation</h2>
  <a name="a1" doxytag="ParseErrorHandler::error"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ParseErrorHandler::error (
            </b></td>
            <td valign="bottom"><b>
  const SAXParseException &amp; <em>e</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00173">173</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="ParseErrorHandler::fatalError"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ParseErrorHandler::fatalError (
            </b></td>
            <td valign="bottom"><b>
  const SAXParseException &amp; <em>e</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00183">183</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="ParseErrorHandler::resetErrors"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ParseErrorHandler::resetErrors (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00131">131</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a0" doxytag="ParseErrorHandler::warning"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ParseErrorHandler::warning (
            </b></td>
            <td valign="bottom"><b>
  const SAXParseException &amp; <em>e</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00192">192</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a><li><a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement-members.html
  
  Index: classRPCElement-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement Member List</h1>This is the complete list of members for <a class="el" href="classRPCElement.html">RPCElement</a>, including all inherited members.<ul>
  <li><a class="el" href="classRPCElement.html#a4">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classRPCElement.html#a6">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classRPCElement.html#a7">GetReturnValue</a>()
  <li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classRPCElement.html#o0">m_pParams</a>
  <code> [private]</code><li><a class="el" href="classRPCElement.html#o3">m_Prefix</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classRPCElement.html#o2">m_Result</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classRPCElement.html#o1">paramItr</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classRPCElement.html#a0">RPCElement</a>()
  <code> [inline]</code><li><a class="el" href="classRPCElement.html#a1">RPCElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classRPCElement.html#a2">RPCElement</a>(const std::string &amp;ns, const std::string &amp;methodName, const std::vector&lt; Param *&gt; &amp;params)
  <li><a class="el" href="classRPCElement.html#a5">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code><li><a class="el" href="classRPCElement.html#a3">~RPCElement</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCElement.html
  
  Index: classRPCElement.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCElement class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCElement  Class Reference</h1><code>#include &lt;<a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for RPCElement::
  <p><center><img src="classRPCElement.gif" usemap="#RPCElement_map" border="0"></center>
  <map name="RPCElement_map">
  <area href="classMessageElement.html" alt="MessageElement" shape="rect" coords="0,0,107,24">
  </map>
  <a href="classRPCElement-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a0">RPCElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a1">RPCElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a2">RPCElement</a> (const std::string &amp;ns, const std::string &amp;methodName, const std::vector&lt; <a class="el" href="classParam.html">Param</a> *&gt; &amp;params)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a3">~RPCElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a4">AddMsgElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a5">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a6">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#a7">GetReturnValue</a> ()</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classRPCParam.html">RPCParam</a>*&gt;&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#o0">m_pParams</a></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classRPCParam.html">RPCParam</a>*&gt;::iterator&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#o1">paramItr</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#o2">m_Result</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCElement.html#o3">m_Prefix</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="RPCElement::RPCElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCElement::RPCElement (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00060">60</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="RPCElement::RPCElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCElement::RPCElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00073">73</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="RPCElement::RPCElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCElement::RPCElement (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>ns</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>methodName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::vector&lt; <a class="el" href="classParam.html">Param</a> *&gt; &amp; <em>params</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00055">55</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="RPCElement::~RPCElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCElement::~RPCElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00082">82</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a4" doxytag="RPCElement::AddMsgElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void RPCElement::AddMsgElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a8">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00092">92</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="RPCElement::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void RPCElement::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a4">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00139">139</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPBodyElement_8cpp-source.html#l00101">SOAPBodyElement::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a7" doxytag="RPCElement::GetReturnValue"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * RPCElement::GetReturnValue (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00117">117</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00185">Call::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="RPCElement::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void RPCElement::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a5">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="RPCElement_8cpp-source.html#l00127">127</a> of file <a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPBodyElement_8cpp-source.html#l00089">SOAPBodyElement::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o3" doxytag="RPCElement::m_Prefix"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCElement::m_Prefix<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00076">76</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="RPCElement::m_Result"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCElement::m_Result<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00075">75</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="RPCElement::m_pParams"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classRPCParam.html">RPCParam</a> *&gt; RPCElement::m_pParams&lt;<a class="el" href="classRPCParam.html">RPCParam</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00073">73</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="RPCElement::paramItr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classRPCParam.html">RPCParam</a> *&gt;::iterator RPCElement::paramItr&lt;<a class="el" href="classRPCParam.html">RPCParam</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCElement_8hpp-source.html#l00074">74</a> of file <a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="RPCElement_8hpp-source.html">RPCElement.hpp</a><li><a class="el" href="RPCElement_8cpp-source.html">RPCElement.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCParam-members.html
  
  Index: classRPCParam-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam Member List</h1>This is the complete list of members for <a class="el" href="classRPCParam.html">RPCParam</a>, including all inherited members.<ul>
  <li><a class="el" href="classRPCParam.html#a8">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <li><a class="el" href="classRPCParam.html#a5">GetName</a>()
  <code> [inline]</code><li><a class="el" href="classRPCParam.html#a6">GetValue</a>()
  <code> [inline]</code><li><a class="el" href="classRPCParam.html#o1">m_Name</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#o0">m_NsURI</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#o4">m_pValue</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#o3">m_strType</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#o5">m_Type</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#o2">m_Value</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#a0">RPCParam</a>()
  <code> [inline]</code><li><a class="el" href="classRPCParam.html#a1">RPCParam</a>(const std::string &amp;ns, const std::string &amp;name, void *val, const ax::QName &amp;p_Type)
  <li><a class="el" href="classRPCParam.html#a2">RPCParam</a>(const std::string &amp;name, void *val, const ax::QName &amp;p_Type)
  <li><a class="el" href="classRPCParam.html#a3">RPCParam</a>(const std::string &amp;name, std::string &amp;strValue, std::string &amp;strType)
  <li><a class="el" href="classRPCParam.html#a7">Serialize</a>(XMLSerializer &amp;serilizer)
  <li><a class="el" href="classRPCParam.html#o6">tmp</a>
  <code> [private]</code><li><a class="el" href="classRPCParam.html#a4">~RPCParam</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classRPCParam.html
  
  Index: classRPCParam.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>RPCParam class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>RPCParam  Class Reference</h1><code>#include &lt;<a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>&gt;</code>
  <p>
  <a href="classRPCParam-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a0">RPCParam</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a1">RPCParam</a> (const std::string &amp;ns, const std::string &amp;name, void *val, const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;p_Type)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a2">RPCParam</a> (const std::string &amp;name, void *val, const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;p_Type)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a3">RPCParam</a> (const std::string &amp;name, std::string &amp;strValue, std::string &amp;strType)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a4">~RPCParam</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a5">GetName</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a6">GetValue</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a7">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#a8">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o0">m_NsURI</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o1">m_Name</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o2">m_Value</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o3">m_strType</a></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o4">m_pValue</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classax_1_1QName.html">ax::QName</a>&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o5">m_Type</a></td></tr>
  <tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classRPCParam.html#o6">tmp</a> [100]</td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="RPCParam::RPCParam"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCParam::RPCParam (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00058">58</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="RPCParam::RPCParam"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCParam::RPCParam (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>ns</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>name</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  void * <em>val</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>p_Type</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00055">55</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="RPCParam::RPCParam"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCParam::RPCParam (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>name</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  void * <em>val</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>p_Type</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00064">64</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="RPCParam::RPCParam"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCParam::RPCParam (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>name</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  std::string &amp; <em>strValue</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  std::string &amp; <em>strType</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00071">71</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="RPCParam::~RPCParam"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  RPCParam::~RPCParam (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00078">78</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a8" doxytag="RPCParam::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void RPCParam::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00099">99</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCElement_8cpp-source.html#l00139">RPCElement::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="RPCParam::GetName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string RPCParam::GetName (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00064">64</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="RPCParam::GetValue"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * RPCParam::GetValue (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00065">65</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.
  <p>
  Referenced by <a class="el" href="RPCElement_8cpp-source.html#l00117">RPCElement::GetReturnValue</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a7" doxytag="RPCParam::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void RPCParam::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8cpp-source.html#l00084">84</a> of file <a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCElement_8cpp-source.html#l00127">RPCElement::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o1" doxytag="RPCParam::m_Name"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCParam::m_Name<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00072">72</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="RPCParam::m_NsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCParam::m_NsURI<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00071">71</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o5" doxytag="RPCParam::m_Type"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">ax::QName</a> RPCParam::m_Type<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00077">77</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="RPCParam::m_Value"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCParam::m_Value<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00073">73</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="RPCParam::m_pValue"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * RPCParam::m_pValue<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00076">76</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="RPCParam::m_strType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string RPCParam::m_strType<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00074">74</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o6" doxytag="RPCParam::tmp"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  char RPCParam::tmp<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="RPCParam_8hpp-source.html#l00079">79</a> of file <a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="RPCParam_8hpp-source.html">RPCParam.hpp</a><li><a class="el" href="RPCParam_8cpp-source.html">RPCParam.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classReceiver-members.html
  
  Index: classReceiver-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver Member List</h1>This is the complete list of members for <a class="el" href="classReceiver.html">Receiver</a>, including all inherited members.<ul>
  <li><a class="el" href="classReceiver.html#o1">m_pTrChannel</a>
  <code> [private]</code><li><a class="el" href="classReceiver.html#o2">m_RecvPort</a>
  <code> [private]</code><li><a class="el" href="classReceiver.html#a0">Receiver</a>(Transport *pTr)
  <code> [inline]</code><li><a class="el" href="classReceiver.html#a2">Recv</a>()
  <li><a class="el" href="classReceiver.html#o0">repMsg</a>
  <code> [private]</code><li><a class="el" href="classReceiver.html#a1">~Receiver</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classReceiver.html
  
  Index: classReceiver.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Receiver class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Receiver  Class Reference</h1><code>#include &lt;<a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>&gt;</code>
  <p>
  <a href="classReceiver-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#a0">Receiver</a> (<a class="el" href="classTransport.html">Transport</a> *pTr)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#a1">~Receiver</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#a2">Recv</a> ()  throw (AxisException)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#o0">repMsg</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTransport.html">Transport</a>*&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#o1">m_pTrChannel</a></td></tr>
  <tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="classReceiver.html#o2">m_RecvPort</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Receiver::Receiver"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Receiver::Receiver (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTransport.html">Transport</a> * <em>pTr</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8hpp-source.html#l00058">58</a> of file <a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Receiver::~Receiver"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Receiver::~Receiver (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8cpp-source.html#l00052">52</a> of file <a class="el" href="Receiver_8cpp-source.html">Receiver.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a2" doxytag="Receiver::Recv"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; Receiver::Recv (
            </b></td>
            <td valign="bottom"><b>
  )  throw (<a class="el" href="classAxisException.html">AxisException</a>)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8cpp-source.html#l00057">57</a> of file <a class="el" href="Receiver_8cpp-source.html">Receiver.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o2" doxytag="Receiver::m_RecvPort"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned int Receiver::m_RecvPort<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8hpp-source.html#l00068">68</a> of file <a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="Receiver::m_pTrChannel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTransport.html">Transport</a> * Receiver::m_pTrChannel<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8hpp-source.html#l00066">66</a> of file <a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="Receiver::repMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Receiver::repMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Receiver_8hpp-source.html#l00064">64</a> of file <a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Receiver_8hpp-source.html">Receiver.hpp</a><li><a class="el" href="Receiver_8cpp-source.html">Receiver.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement-members.html
  
  Index: classSOAPBodyElement-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement Member List</h1>This is the complete list of members for <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPBodyElement.html#a4">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPBodyElement.html#a7">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [virtual]</code><li><a class="el" href="classSOAPBodyElement.html#a5">GetBody</a>()
  <code> [inline]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classSOAPBodyElement.html#o0">m_pBody</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classSOAPBodyElement.html#o1">m_pFault</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classSOAPBodyElement.html#a6">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPBodyElement.html#a0">SOAPBodyElement</a>()
  <li><a class="el" href="classSOAPBodyElement.html#a1">SOAPBodyElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classSOAPBodyElement.html#a2">SOAPBodyElement</a>(MessageElement *p_pBody)
  <li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code><li><a class="el" href="classSOAPBodyElement.html#a3">~SOAPBodyElement</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPBodyElement.html
  
  Index: classSOAPBodyElement.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPBodyElement class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPBodyElement  Class Reference</h1><code>#include &lt;<a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPBodyElement::
  <p><center><img src="classSOAPBodyElement.gif" usemap="#SOAPBodyElement_map" border="0"></center>
  <map name="SOAPBodyElement_map">
  <area href="classMessageElement.html" alt="MessageElement" shape="rect" coords="0,0,120,24">
  </map>
  <a href="classSOAPBodyElement-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a0">SOAPBodyElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a1">SOAPBodyElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a2">SOAPBodyElement</a> (<a class="el" href="classMessageElement.html">MessageElement</a> *p_pBody)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a3">~SOAPBodyElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a4">AddMsgElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a5">GetBody</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a6">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#a7">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classRPCElement.html">RPCElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#o0">m_pBody</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPBodyElement.html#o1">m_pFault</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPBodyElement::SOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPBodyElement::SOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00052">52</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPBodyElement::SOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPBodyElement::SOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00066">66</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPBodyElement::SOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPBodyElement::SOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classMessageElement.html">MessageElement</a> * <em>p_pBody</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00059">59</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="SOAPBodyElement::~SOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPBodyElement::~SOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00074">74</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a4" doxytag="SOAPBodyElement::AddMsgElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPBodyElement::AddMsgElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a8">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00079">79</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="SOAPBodyElement::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPBodyElement::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a4">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00101">101</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00147">SOAPEnvelope::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="SOAPBodyElement::GetBody"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPBodyElement::GetBody (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8hpp-source.html#l00065">65</a> of file <a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="SOAPBodyElement::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPBodyElement::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a5">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8cpp-source.html#l00089">89</a> of file <a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">SOAPEnvelope::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPBodyElement::m_pBody"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classRPCElement.html">RPCElement</a> * SOAPBodyElement::m_pBody<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8hpp-source.html#l00070">70</a> of file <a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="SOAPBodyElement::m_pFault"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a> * SOAPBodyElement::m_pFault<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPBodyElement_8hpp-source.html#l00071">71</a> of file <a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPBodyElement_8hpp-source.html">SOAPBodyElement.hpp</a><li><a class="el" href="SOAPBodyElement_8cpp-source.html">SOAPBodyElement.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding-members.html
  
  Index: classSOAPEncoding-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding Member List</h1>This is the complete list of members for <a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPEncoding.html#o0">buf</a>
  <code> [private]</code><li><a class="el" href="classSOAPEncoding.html#a3">Deserialize</a>(std::string &amp;val)
  <code> [virtual]</code><li><a class="el" href="classSOAPEncoding.html#a2">Serialize</a>(const void *val)
  <code> [virtual]</code><li><a class="el" href="classSerializerFactory.html#a0">SerializerFactory</a>()
  <code> [inline]</code><li><a class="el" href="classSOAPEncoding.html#a0">SOAPEncoding</a>()
  <code> [inline]</code><li><a class="el" href="classSerializerFactory.html#a1">~SerializerFactory</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classSOAPEncoding.html#a1">~SOAPEncoding</a>()
  <code> [inline]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEncoding.html
  
  Index: classSOAPEncoding.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title> TemplateSOAPEncoding class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEncoding  Class Template Reference</h1>preimplementation of the <a class="el" href="classSerializerFactory.html">SerializerFactory</a> interface for predefined types. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPEncoding::
  <p><center><img src="classSOAPEncoding.gif" usemap="#SOAPEncoding_map" border="0"></center>
  <map name="SOAPEncoding_map">
  <area href="classSerializerFactory.html" alt="SerializerFactory" shape="rect" coords="0,0,110,24">
  </map>
  <a href="classSOAPEncoding-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html#a0">SOAPEncoding</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html#a1">~SOAPEncoding</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html#a2">Serialize</a> (const void *val)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize/converts a C++ object to an XML representation.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html#a3">Deserialize</a> (std::string &amp;val)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize/converts an XML representation to a C++ object.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>char&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEncoding.html#o0">buf</a> [100]</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Temporary buffer to manage encoding/decoding.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  <h3>template&lt;typename T&gt;  class SOAPEncoding</h3>
  
  preimplementation of the <a class="el" href="classSerializerFactory.html">SerializerFactory</a> interface for predefined types.
  <p>
  This is the preimplementation of the <a class="el" href="classSerializerFactory.html">SerializerFactory</a> interface for  predefined types. And is used to serialize/deserialize predefined types when encoding and decoding these types from/to SOAP types (xml). If SOAPEncoding&lt;T&gt; is undefined for user defined classes then user have  to implement it. Look in class SOAPEncoding&lt;T&gt; for examples. 
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8hpp-source.html#l00065">65</a> of file <a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPEncoding::SOAPEncoding"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEncoding&lt;T&gt;::SOAPEncoding&lt;T&gt; (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8hpp-source.html#l00068">68</a> of file <a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPEncoding::~SOAPEncoding"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEncoding&lt;T&gt;::~SOAPEncoding&lt;T&gt; (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8hpp-source.html#l00069">69</a> of file <a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="SOAPEncoding::Deserialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  void * SOAPEncoding::Deserialize (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>val</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize/converts an XML representation to a C++ object.
  <p>
  Deserialize/converts an XML representation to a C++ object using  a specific XML processing mechanism and based on the specified type  mapping and encoding style. 
  <p>
  Reimplemented from <a class="el" href="classSerializerFactory.html#a3">SerializerFactory</a>.
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8cpp-source.html#l00115">115</a> of file <a class="el" href="SOAPEncoding_8cpp-source.html">SOAPEncoding.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPEncoding::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  const std::string SOAPEncoding::Serialize (
            </b></td>
            <td valign="bottom"><b>
  const void * <em>val</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize/converts a C++ object to an XML representation.
  <p>
  Serialize/converts a C++ object to an XML representation using a specific XML processing mechanism and based on the specified type  mapping and encoding style. 
  <p>
  Reimplemented from <a class="el" href="classSerializerFactory.html#a2">SerializerFactory</a>.
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8cpp-source.html#l00052">52</a> of file <a class="el" href="SOAPEncoding_8cpp-source.html">SOAPEncoding.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPEncoding::buf"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  char SOAPEncoding&lt;T&gt;::buf<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Temporary buffer to manage encoding/decoding.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEncoding_8hpp-source.html#l00090">90</a> of file <a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPEncoding_8hpp-source.html">SOAPEncoding.hpp</a><li><a class="el" href="SOAPEncoding_8cpp-source.html">SOAPEncoding.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter-members.html
  
  Index: classSOAPEnvelopFormatter-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelopFormatter Member List</h1>This is the complete list of members for <a class="el" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPEnvelopFormatter.html#o0">m_xmlBuf</a>
  <code> [private]</code><li><a class="el" href="classSOAPEnvelopFormatter.html#c1">operator=</a>(const SOAPEnvelopFormatter &amp;p_rvalue)
  <code> [private]</code><li><a class="el" href="classSOAPEnvelopFormatter.html#a0">SOAPEnvelopFormatter</a>(std::ostream &amp;p_xmlBuffer)
  <code> [inline]</code><li><a class="el" href="classSOAPEnvelopFormatter.html#c0">SOAPEnvelopFormatter</a>(const SOAPEnvelopFormatter &amp;p_Other)
  <code> [private]</code><li><a class="el" href="classSOAPEnvelopFormatter.html#a2">writeChars</a>(const XMLByte *const p_chWhat, const unsigned int p_Cnt, XMLFormatter *const p_xmlFormatter)
  <code> [inline]</code><li><a class="el" href="classSOAPEnvelopFormatter.html#a1">~SOAPEnvelopFormatter</a>()
  <code> [inline]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelopFormatter.html
  
  Index: classSOAPEnvelopFormatter.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelopFormatter class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelopFormatter  Class Reference</h1>Implements <a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> for dumping generated DOM tree into a output stream. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPEnvelopFormatter::
  <p><center><img src="classSOAPEnvelopFormatter.gif" usemap="#SOAPEnvelopFormatter_map" border="0"></center>
  <map name="SOAPEnvelopFormatter_map">
  <area href="classXMLFormatTarget.html" alt="XMLFormatTarget" shape="rect" coords="0,0,147,24">
  </map>
  <a href="classSOAPEnvelopFormatter-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#a0">SOAPEnvelopFormatter</a> (std::ostream &amp;p_xmlBuffer)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#a1">~SOAPEnvelopFormatter</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#a2">writeChars</a> (const XMLByte *const p_chWhat, const unsigned int p_Cnt, XMLFormatter *const p_xmlFormatter)</td></tr>
  <tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#c0">SOAPEnvelopFormatter</a> (const SOAPEnvelopFormatter &amp;p_Other)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#c1">operator=</a> (const SOAPEnvelopFormatter &amp;p_rvalue)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::ostream*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelopFormatter.html#o0">m_xmlBuf</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Implements <a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> for dumping generated DOM tree into a output stream.
  <p>
  The implementation of the <a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a> to dump generated SOAP Envelop as a  DOM tree, into a output stream. For more info refer Xerces-C++ DOM parser  documentation.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00154">154</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPEnvelopFormatter::SOAPEnvelopFormatter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelopFormatter::SOAPEnvelopFormatter (
            </b></td>
            <td valign="bottom"><b>
  std::ostream &amp; <em>p_xmlBuffer</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00157">157</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPEnvelopFormatter::~SOAPEnvelopFormatter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelopFormatter::~SOAPEnvelopFormatter (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00158">158</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="c0" doxytag="SOAPEnvelopFormatter::SOAPEnvelopFormatter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelopFormatter::SOAPEnvelopFormatter (
            </b></td>
            <td valign="bottom"><b>
  const SOAPEnvelopFormatter &amp; <em>p_Other</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="c1" doxytag="SOAPEnvelopFormatter::operator="></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelopFormatter::operator= (
            </b></td>
            <td valign="bottom"><b>
  const SOAPEnvelopFormatter &amp; <em>p_rvalue</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPEnvelopFormatter::writeChars"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelopFormatter::writeChars (
            </b></td>
            <td valign="bottom"><b>
  const XMLByte *const <em>p_chWhat</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const unsigned int <em>p_Cnt</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  XMLFormatter *const <em>p_xmlFormatter</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00160">160</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPEnvelopFormatter::m_xmlBuf"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::ostream * SOAPEnvelopFormatter::m_xmlBuf<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00171">171</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope-members.html
  
  Index: classSOAPEnvelope-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope Member List</h1>This is the complete list of members for <a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPEnvelope.html#a7">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPEnvelope.html#a3">AddSOAPBodyElement</a>(SOAPBodyElement *p_pBody)
  <li><a class="el" href="classSOAPEnvelope.html#a4">AddSOAPHeader</a>(SOAPHeader *p_pHd)
  <li><a class="el" href="classSOAPEnvelope.html#a10">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classSOAPEnvelope.html#a8">GetSOAPBodyElement</a>()
  <li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classSOAPEnvelope.html#o0">m_SOAPBody</a>
  <code> [private]</code><li><a class="el" href="classSOAPEnvelope.html#o2">m_SOAPBodyItr</a>
  <code> [private]</code><li><a class="el" href="classSOAPEnvelope.html#o3">m_SOAPHdItr</a>
  <code> [private]</code><li><a class="el" href="classSOAPEnvelope.html#o1">m_SOAPHeader</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classSOAPEnvelope.html#a11">RegisterPrefixes</a>(T &amp;contex)
  <code> [inline]</code><li><a class="el" href="classSOAPEnvelope.html#a5">RmSOAPBodyElement</a>(const SOAPBodyElement &amp;p_Body)
  <li><a class="el" href="classSOAPEnvelope.html#a6">RmSOAPHeader</a>(const SOAPHeader &amp;p_Hd)
  <li><a class="el" href="classSOAPEnvelope.html#a9">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPEnvelope.html#a0">SOAPEnvelope</a>()
  <li><a class="el" href="classSOAPEnvelope.html#a1">SOAPEnvelope</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code><li><a class="el" href="classSOAPEnvelope.html#a2">~SOAPEnvelope</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPEnvelope.html
  
  Index: classSOAPEnvelope.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPEnvelope class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPEnvelope  Class Reference</h1>SOAP Envelop description. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPEnvelope::
  <p><center><img src="classSOAPEnvelope.gif" usemap="#SOAPEnvelope_map" border="0"></center>
  <map name="SOAPEnvelope_map">
  <area href="classMessageElement.html" alt="MessageElement" shape="rect" coords="0,0,107,24">
  </map>
  <a href="classSOAPEnvelope-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a0">SOAPEnvelope</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a1">SOAPEnvelope</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a2">~SOAPEnvelope</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a3">AddSOAPBodyElement</a> (<a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> *p_pBody)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a4">AddSOAPHeader</a> (<a class="el" href="classSOAPHeader.html">SOAPHeader</a> *p_pHd)</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a5">RmSOAPBodyElement</a> (const <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> &amp;p_Body)</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a6">RmSOAPHeader</a> (const <a class="el" href="classSOAPHeader.html">SOAPHeader</a> &amp;p_Hd)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a7">AddMsgElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a8">GetSOAPBodyElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a9">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a10">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>template&lt;typename T&gt; void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#a11">RegisterPrefixes</a> (T &amp;contex)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>*&gt;&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#o0">m_SOAPBody</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>for RPC this have only one entry for the time being.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classSOAPHeader.html">SOAPHeader</a>*&gt;&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#o1">m_SOAPHeader</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>for RPC this have only one entry for the time being.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>*&gt;::iterator&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#o2">m_SOAPBodyItr</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>for RPC this have only one entry for the time being.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::vector&lt;<a class="el" href="classSOAPHeader.html">SOAPHeader</a>*&gt;::iterator&nbsp;</td><td valign=bottom><a class="el" href="classSOAPEnvelope.html#o3">m_SOAPHdItr</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>for RPC this have only one entry for the time being.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  SOAP Envelop description.
  <p>
  Delare and define SOAP Envelop for serialization/Deserialization
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00060">60</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPEnvelope::SOAPEnvelope"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelope::SOAPEnvelope (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00052">52</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPEnvelope::SOAPEnvelope"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelope::SOAPEnvelope (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00059">59</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPEnvelope::~SOAPEnvelope"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPEnvelope::~SOAPEnvelope (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00067">67</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a7" doxytag="SOAPEnvelope::AddMsgElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::AddMsgElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a8">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00106">106</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="SOAPEnvelope::AddSOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::AddSOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> * <em>p_pBody</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00081">81</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00106">AddMsgElement</a>(), and <a class="el" href="SOAPMessage_8cpp-source.html#l00076">SOAPMessage::SetSOAPBodyElement</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="SOAPEnvelope::AddSOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::AddSOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classSOAPHeader.html">SOAPHeader</a> * <em>p_pHd</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00091">91</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00106">AddMsgElement</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a10" doxytag="SOAPEnvelope::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a4">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00147">147</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00119">SOAPMessage::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a8" doxytag="SOAPEnvelope::GetSOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPEnvelope::GetSOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00086">86</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00059">SOAPMessage::GetSOAPBodyElement</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a11" doxytag="SOAPEnvelope::RegisterPrefixes"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::RegisterPrefixes (
            </b></td>
            <td valign="bottom"><b>
  T &amp; <em>contex</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00079">79</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00119">SOAPMessage::DeSerialize</a>(), and <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="SOAPEnvelope::RmSOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool SOAPEnvelope::RmSOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  const <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> &amp; <em>p_Body</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00096">96</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="SOAPEnvelope::RmSOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool SOAPEnvelope::RmSOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  const <a class="el" href="classSOAPHeader.html">SOAPHeader</a> &amp; <em>p_Hd</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00101">101</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a9" doxytag="SOAPEnvelope::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPEnvelope::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a5">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">128</a> of file <a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00092">SOAPMessage::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPEnvelope::m_SOAPBody"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> *&gt; SOAPEnvelope::m_SOAPBody&lt;<a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  for RPC this have only one entry for the time being.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00088">88</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="SOAPEnvelope::m_SOAPBodyItr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a> *&gt;::iterator SOAPEnvelope::m_SOAPBodyItr&lt;<a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  for RPC this have only one entry for the time being.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00091">91</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="SOAPEnvelope::m_SOAPHdItr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classSOAPHeader.html">SOAPHeader</a> *&gt;::iterator SOAPEnvelope::m_SOAPHdItr&lt;<a class="el" href="classSOAPHeader.html">SOAPHeader</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  for RPC this have only one entry for the time being.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00092">92</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="SOAPEnvelope::m_SOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::vector&lt; <a class="el" href="classSOAPHeader.html">SOAPHeader</a> *&gt; SOAPEnvelope::m_SOAPHeader&lt;<a class="el" href="classSOAPHeader.html">SOAPHeader</a>*&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  for RPC this have only one entry for the time being.
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPEnvelope_8hpp-source.html#l00089">89</a> of file <a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPEnvelope_8hpp-source.html">SOAPEnvelope.hpp</a><li><a class="el" href="SOAPEnvelope_8cpp-source.html">SOAPEnvelope.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement-members.html
  
  Index: classSOAPFaultElement-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement Member List</h1>This is the complete list of members for <a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPFaultElement.html#a3">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPFaultElement.html#a5">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classSOAPFaultElement.html#o0">m_strFault</a>
  <code> [private]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classSOAPFaultElement.html#a4">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPFaultElement.html#a0">SOAPFaultElement</a>()
  <li><a class="el" href="classSOAPFaultElement.html#a1">SOAPFaultElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code><li><a class="el" href="classSOAPFaultElement.html#a2">~SOAPFaultElement</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPFaultElement.html
  
  Index: classSOAPFaultElement.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPFaultElement class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPFaultElement  Class Reference</h1>SOAPFault Element class is used for the mapping of the SOAP faults. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPFaultElement::
  <p><center><img src="classSOAPFaultElement.gif" usemap="#SOAPFaultElement_map" border="0"></center>
  <map name="SOAPFaultElement_map">
  <area href="classMessageElement.html" alt="MessageElement" shape="rect" coords="0,0,119,24">
  </map>
  <a href="classSOAPFaultElement-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a0">SOAPFaultElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a1">SOAPFaultElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a2">~SOAPFaultElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a3">AddMsgElement</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a4">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#a5">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classSOAPFaultElement.html#o0">m_strFault</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  SOAPFault Element class is used for the mapping of the SOAP faults.
  <p>
  SOAPFault Element class is used for the mapping of the SOAP faults.  If the use attribute in the soap:fault is literal, the soap:fault maps  to the SOAPFault Element with an exception of <a class="el" href="classAxisFault.html">AxisFault</a>. 
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8hpp-source.html#l00059">59</a> of file <a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPFaultElement::SOAPFaultElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPFaultElement::SOAPFaultElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00055">55</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPFaultElement::SOAPFaultElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPFaultElement::SOAPFaultElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00060">60</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPFaultElement::~SOAPFaultElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPFaultElement::~SOAPFaultElement (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00066">66</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="SOAPFaultElement::AddMsgElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPFaultElement::AddMsgElement (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Add any <a class="el" href="classMessageElement.html">MessageElement</a> as childs by associating corresponded DOM Element.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a8">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00071">71</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="SOAPFaultElement::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPFaultElement::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a4">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00105">105</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPBodyElement_8cpp-source.html#l00101">SOAPBodyElement::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="SOAPFaultElement::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPFaultElement::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a5">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8cpp-source.html#l00094">94</a> of file <a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPFaultElement::m_strFault"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string SOAPFaultElement::m_strFault<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPFaultElement_8hpp-source.html#l00070">70</a> of file <a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPFaultElement_8hpp-source.html">SOAPFaultElement.hpp</a><li><a class="el" href="SOAPFaultElement_8cpp-source.html">SOAPFaultElement.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader-members.html
  
  Index: classSOAPHeader-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader Member List</h1>This is the complete list of members for <a class="el" href="classSOAPHeader.html">SOAPHeader</a>, including all inherited members.<ul>
  <li><a class="el" href="classMessageElement.html#a8">AddMsgElement</a>(const DOM_Element &amp;p_Elm)
  <code> [inline, virtual]</code><li><a class="el" href="classSOAPHeader.html#a4">DeSerialize</a>(XMLDeSerializer &amp;dserilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a9">GetElmQName</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#n4">m_AttLst</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n6">m_Msg</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n0">m_Name</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n2">m_NsURI</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n3">m_pElmNode</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#n5">m_qName</a>
  <code> [protected]</code><li><a class="el" href="classMessageElement.html#a0">MessageElement</a>()
  <li><a class="el" href="classMessageElement.html#a1">MessageElement</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a2">MessageElement</a>(const std::string &amp;p_Ns, const std::string &amp;p_LocalPart)
  <li><a class="el" href="classMessageElement.html#n1">prefix</a>
  <code> [protected]</code><li><a class="el" href="classSOAPHeader.html#a3">Serialize</a>(XMLSerializer &amp;serilizer)
  <code> [virtual]</code><li><a class="el" href="classMessageElement.html#a7">SetElmQName</a>(const ax::QName &amp;p_qName)
  <code> [inline, virtual]</code><li><a class="el" href="classMessageElement.html#a6">SetMsgElm</a>(const DOM_Element &amp;p_Elm)
  <code> [virtual]</code><li><a class="el" href="classSOAPHeader.html#a0">SOAPHeader</a>()
  <li><a class="el" href="classSOAPHeader.html#a1">SOAPHeader</a>(const DOM_Element &amp;p_Elm)
  <li><a class="el" href="classMessageElement.html#a3">~MessageElement</a>()
  <code> [virtual]</code><li><a class="el" href="classSOAPHeader.html#a2">~SOAPHeader</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPHeader.html
  
  Index: classSOAPHeader.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPHeader class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPHeader  Class Reference</h1>SOAPHeader is used to map the SOAP Header as a Messag Element. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SOAPHeader::
  <p><center><img src="classSOAPHeader.gif" usemap="#SOAPHeader_map" border="0"></center>
  <map name="SOAPHeader_map">
  <area href="classMessageElement.html" alt="MessageElement" shape="rect" coords="0,0,107,24">
  </map>
  <a href="classSOAPHeader-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html#a0">SOAPHeader</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html#a1">SOAPHeader</a> (const DOM_Element &amp;p_Elm)</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html#a2">~SOAPHeader</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html#a3">Serialize</a> (<a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp;serilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPHeader.html#a4">DeSerialize</a> (<a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp;dserilizer)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  SOAPHeader is used to map the SOAP Header as a Messag Element.
  <p>
  SOAPHeader Element class is used to map the SOAP Header as a Messag Element. For SOAP-RPC this class is not used 
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPHeader_8hpp-source.html#l00059">59</a> of file <a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPHeader::SOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPHeader::SOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPHeader_8cpp-source.html#l00053">53</a> of file <a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPHeader::SOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPHeader::SOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  const DOM_Element &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPHeader_8cpp-source.html#l00058">58</a> of file <a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPHeader::~SOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPHeader::~SOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPHeader_8cpp-source.html#l00064">64</a> of file <a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a4" doxytag="SOAPHeader::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPHeader::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a> &amp; <em>dserilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a4">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPHeader_8cpp-source.html#l00080">80</a> of file <a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00147">SOAPEnvelope::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="SOAPHeader::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPHeader::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXMLSerializer.html">XMLSerializer</a> &amp; <em>serilizer</em>&nbsp;)<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize <a class="el" href="classMessageElement.html">MessageElement</a>.
  <p>
  
  <p>
  Reimplemented from <a class="el" href="classMessageElement.html#a5">MessageElement</a>.
  <p>
  Definition at line <a class="el" href="SOAPHeader_8cpp-source.html#l00069">69</a> of file <a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">SOAPEnvelope::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPHeader_8hpp-source.html">SOAPHeader.hpp</a><li><a class="el" href="SOAPHeader_8cpp-source.html">SOAPHeader.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMessage-members.html
  
  Index: classSOAPMessage-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage Member List</h1>This is the complete list of members for <a class="el" href="classSOAPMessage.html">SOAPMessage</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPMessage.html#a13">DeSerialize</a>(TypeMappingRegistry *p_TypMapper)
  <li><a class="el" href="classSOAPMessage.html#a10">GetMsg</a>()
  <code> [inline]</code><li><a class="el" href="classSOAPMessage.html#a4">GetSOAPBodyElement</a>()
  <li><a class="el" href="classSOAPMessage.html#a6">GetSOAPEnvelop</a>()
  <li><a class="el" href="classSOAPMessage.html#a5">GetSOAPHeader</a>()
  <li><a class="el" href="classSOAPMessage.html#o1">m_envMsg</a>
  <code> [private]</code><li><a class="el" href="classSOAPMessage.html#o0">m_Msg</a>
  <code> [private]</code><li><a class="el" href="classSOAPMessage.html#a12">Serialize</a>(TypeMappingRegistry *p_TypMapper)
  <li><a class="el" href="classSOAPMessage.html#a11">SetMsg</a>(const std::string &amp;p_Msg)
  <li><a class="el" href="classSOAPMessage.html#a7">SetSOAPBodyElement</a>(MessageElement *)
  <li><a class="el" href="classSOAPMessage.html#a9">SetSOAPEnvelop</a>(MessageElement *)
  <li><a class="el" href="classSOAPMessage.html#a8">SetSOAPHeader</a>(MessageElement *)
  <li><a class="el" href="classSOAPMessage.html#a0">SOAPMessage</a>()
  <code> [inline]</code><li><a class="el" href="classSOAPMessage.html#a1">SOAPMessage</a>(std::string p_strMsg)
  <code> [inline]</code><li><a class="el" href="classSOAPMessage.html#a2">SOAPMessage</a>(SOAPEnvelope &amp;pEnv)
  <code> [inline]</code><li><a class="el" href="classSOAPMessage.html#a3">~SOAPMessage</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMessage.html
  
  Index: classSOAPMessage.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMessage class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMessage  Class Reference</h1><code>#include &lt;<a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>&gt;</code>
  <p>
  <a href="classSOAPMessage-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a0">SOAPMessage</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a1">SOAPMessage</a> (std::string p_strMsg)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a2">SOAPMessage</a> (<a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a> &amp;pEnv)</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a3">~SOAPMessage</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a4">GetSOAPBodyElement</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a5">GetSOAPHeader</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a6">GetSOAPEnvelop</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a7">SetSOAPBodyElement</a> (<a class="el" href="classMessageElement.html">MessageElement</a> *)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a8">SetSOAPHeader</a> (<a class="el" href="classMessageElement.html">MessageElement</a> *)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a9">SetSOAPEnvelop</a> (<a class="el" href="classMessageElement.html">MessageElement</a> *)</td></tr>
  <tr><td nowrap align=right valign=top>const std::string&amp;&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a10">GetMsg</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a11">SetMsg</a> (const std::string &amp;p_Msg)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a12">Serialize</a> (<a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *p_TypMapper)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#a13">DeSerialize</a> (<a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *p_TypMapper)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#o0">m_Msg</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMessage.html#o1">m_envMsg</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPMessage::SOAPMessage"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMessage::SOAPMessage (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00060">60</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPMessage::SOAPMessage"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMessage::SOAPMessage (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>p_strMsg</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00061">61</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPMessage::SOAPMessage"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMessage::SOAPMessage (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a> &amp; <em>pEnv</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00062">62</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="SOAPMessage::~SOAPMessage"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMessage::~SOAPMessage (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00054">54</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a13" doxytag="SOAPMessage::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <em>p_TypMapper</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00119">119</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a10" doxytag="SOAPMessage::GetMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string &amp; SOAPMessage::GetMsg (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00071">71</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="SOAPMessage::GetSOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPMessage::GetSOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00059">59</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00111">SOAPMsgContext::GetResults</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="SOAPMessage::GetSOAPEnvelop"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPMessage::GetSOAPEnvelop (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00070">70</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="SOAPMessage::GetSOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPMessage::GetSOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00065">65</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a12" doxytag="SOAPMessage::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <em>p_TypMapper</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00092">92</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a11" doxytag="SOAPMessage::SetMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::SetMsg (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Msg</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00106">106</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a7" doxytag="SOAPMessage::SetSOAPBodyElement"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::SetSOAPBodyElement (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classMessageElement.html">MessageElement</a> * <em>p_pMsgElm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00076">76</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a9" doxytag="SOAPMessage::SetSOAPEnvelop"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::SetSOAPEnvelop (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classMessageElement.html">MessageElement</a> * <em>p_pEnv</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00087">87</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a8" doxytag="SOAPMessage::SetSOAPHeader"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMessage::SetSOAPHeader (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classMessageElement.html">MessageElement</a> * <em>p_pHd</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8cpp-source.html#l00082">82</a> of file <a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="SOAPMessage::m_Msg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string SOAPMessage::m_Msg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00079">79</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="SOAPMessage::m_envMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a> SOAPMessage::m_envMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMessage_8hpp-source.html#l00080">80</a> of file <a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPMessage_8hpp-source.html">SOAPMessage.hpp</a><li><a class="el" href="SOAPMessage_8cpp-source.html">SOAPMessage.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMsgContext-members.html
  
  Index: classSOAPMsgContext-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext Member List</h1>This is the complete list of members for <a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a>, including all inherited members.<ul>
  <li><a class="el" href="classSOAPMsgContext.html#a5">GetResults</a>()
  <li><a class="el" href="classSOAPMsgContext.html#a4">Invoke</a>(RPCElement *p_pBody)
  <li><a class="el" href="classSOAPMsgContext.html#o5">m_bRecv</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#o1">m_pRepMsg</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#o0">m_pReqMsg</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#o4">m_pTransportChannel</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#o2">m_pTypeMpRegistry</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#o3">m_ServiceUrl</a>
  <code> [private]</code><li><a class="el" href="classSOAPMsgContext.html#a2">RegisterTypeMapping</a>(const std::string &amp;typname, SerializerFactory *ser)
  <li><a class="el" href="classSOAPMsgContext.html#a3">SetServiceURL</a>(const std::string &amp;p_ServerURL)
  <code> [inline]</code><li><a class="el" href="classSOAPMsgContext.html#a0">SOAPMsgContext</a>()
  <li><a class="el" href="classSOAPMsgContext.html#a1">~SOAPMsgContext</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSOAPMsgContext.html
  
  Index: classSOAPMsgContext.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SOAPMsgContext class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SOAPMsgContext  Class Reference</h1><code>#include &lt;<a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>&gt;</code>
  <p>
  <a href="classSOAPMsgContext-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a0">SOAPMsgContext</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a1">~SOAPMsgContext</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a2">RegisterTypeMapping</a> (const std::string &amp;typname, <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *ser)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a3">SetServiceURL</a> (const std::string &amp;p_ServerURL)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a4">Invoke</a> (<a class="el" href="classRPCElement.html">RPCElement</a> *p_pBody)</td></tr>
  <tr><td nowrap align=right valign=top>const <a class="el" href="classMessageElement.html">MessageElement</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#a5">GetResults</a> ()</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSOAPMessage.html">SOAPMessage</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o0">m_pReqMsg</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSOAPMessage.html">SOAPMessage</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o1">m_pRepMsg</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o2">m_pTypeMpRegistry</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classUrl.html">Url</a>&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o3">m_ServiceUrl</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTransport.html">Transport</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o4">m_pTransportChannel</a></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSOAPMsgContext.html#o5">m_bRecv</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SOAPMsgContext::SOAPMsgContext"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMsgContext::SOAPMsgContext (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8cpp-source.html#l00055">55</a> of file <a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SOAPMsgContext::~SOAPMsgContext"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SOAPMsgContext::~SOAPMsgContext (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8cpp-source.html#l00061">61</a> of file <a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a5" doxytag="SOAPMsgContext::GetResults"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const <a class="el" href="classMessageElement.html">MessageElement</a> * SOAPMsgContext::GetResults (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8cpp-source.html#l00111">111</a> of file <a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00185">Call::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="SOAPMsgContext::Invoke"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMsgContext::Invoke (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classRPCElement.html">RPCElement</a> * <em>p_pBody</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">75</a> of file <a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00185">Call::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="SOAPMsgContext::RegisterTypeMapping"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMsgContext::RegisterTypeMapping (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>typname</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classSerializerFactory.html">SerializerFactory</a> * <em>ser</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8cpp-source.html#l00070">70</a> of file <a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00125">Call::AddSerializerFactory</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="SOAPMsgContext::SetServiceURL"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void SOAPMsgContext::SetServiceURL (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_ServerURL</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00066">66</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8cpp-source.html#l00185">Call::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o3" doxytag="SOAPMsgContext::m_ServiceUrl"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classUrl.html">Url</a> SOAPMsgContext::m_ServiceUrl<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00076">76</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o5" doxytag="SOAPMsgContext::m_bRecv"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool SOAPMsgContext::m_bRecv<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00078">78</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="SOAPMsgContext::m_pRepMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSOAPMessage.html">SOAPMessage</a> * SOAPMsgContext::m_pRepMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00072">72</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="SOAPMsgContext::m_pReqMsg"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSOAPMessage.html">SOAPMessage</a> * SOAPMsgContext::m_pReqMsg<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00071">71</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="SOAPMsgContext::m_pTransportChannel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTransport.html">Transport</a> * SOAPMsgContext::m_pTransportChannel<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00077">77</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="SOAPMsgContext::m_pTypeMpRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * SOAPMsgContext::m_pTypeMpRegistry<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SOAPMsgContext_8hpp-source.html#l00074">74</a> of file <a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="SOAPMsgContext_8hpp-source.html">SOAPMsgContext.hpp</a><li><a class="el" href="SOAPMsgContext_8cpp-source.html">SOAPMsgContext.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSender-members.html
  
  Index: classSender-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender Member List</h1>This is the complete list of members for <a class="el" href="classSender.html">Sender</a>, including all inherited members.<ul>
  <li><a class="el" href="classSender.html#o0">m_pTrChannel</a>
  <code> [private]</code><li><a class="el" href="classSender.html#a2">Send</a>(const std::string &amp;what)
  <li><a class="el" href="classSender.html#a0">Sender</a>(Transport *pTr)
  <li><a class="el" href="classSender.html#a1">~Sender</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSender.html
  
  Index: classSender.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Sender class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Sender  Class Reference</h1><code>#include &lt;<a class="el" href="Sender_8hpp-source.html">Sender.hpp</a>&gt;</code>
  <p>
  <a href="classSender-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSender.html#a0">Sender</a> (<a class="el" href="classTransport.html">Transport</a> *pTr)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSender.html#a1">~Sender</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSender.html#a2">Send</a> (const std::string &amp;what)  throw (AxisException)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTransport.html">Transport</a>*&nbsp;</td><td valign=bottom><a class="el" href="classSender.html#o0">m_pTrChannel</a></td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Sender::Sender"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Sender::Sender (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTransport.html">Transport</a> * <em>pTr</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Sender_8cpp-source.html#l00051">51</a> of file <a class="el" href="Sender_8cpp-source.html">Sender.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Sender::~Sender"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Sender::~Sender (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Sender_8cpp-source.html#l00057">57</a> of file <a class="el" href="Sender_8cpp-source.html">Sender.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a2" doxytag="Sender::Send"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Sender::Send (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>what</em>&nbsp;)  throw (<a class="el" href="classAxisException.html">AxisException</a>)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Sender_8cpp-source.html#l00062">62</a> of file <a class="el" href="Sender_8cpp-source.html">Sender.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="Sender::m_pTrChannel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTransport.html">Transport</a> * Sender::m_pTrChannel<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Sender_8hpp-source.html#l00063">63</a> of file <a class="el" href="Sender_8hpp-source.html">Sender.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Sender_8hpp-source.html">Sender.hpp</a><li><a class="el" href="Sender_8cpp-source.html">Sender.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory-members.html
  
  Index: classSerializerFactory-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SerializerFactory Member List</h1>This is the complete list of members for <a class="el" href="classSerializerFactory.html">SerializerFactory</a>, including all inherited members.<ul>
  <li><a class="el" href="classSerializerFactory.html#a3">Deserialize</a>(std::string &amp;val)=0
  <code> [pure virtual]</code><li><a class="el" href="classSerializerFactory.html#a2">Serialize</a>(const void *val)=0
  <code> [pure virtual]</code><li><a class="el" href="classSerializerFactory.html#a0">SerializerFactory</a>()
  <code> [inline]</code><li><a class="el" href="classSerializerFactory.html#a1">~SerializerFactory</a>()
  <code> [inline, virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classSerializerFactory.html
  
  Index: classSerializerFactory.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>SerializerFactory class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>SerializerFactory  Class Reference</h1>(De)serialization interface for user defined types. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for SerializerFactory::
  <p><center><img src="classSerializerFactory.gif" usemap="#SerializerFactory_map" border="0"></center>
  <map name="SerializerFactory_map">
  <area href="classSOAPEncoding.html" alt="SOAPEncoding" shape="rect" coords="0,56,110,80">
  </map>
  <a href="classSerializerFactory-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSerializerFactory.html#a0">SerializerFactory</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSerializerFactory.html#a1">~SerializerFactory</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual const std::string&nbsp;</td><td valign=bottom><a class="el" href="classSerializerFactory.html#a2">Serialize</a> (const void *val)=0</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize/converts a C++ object to an XML representation.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>virtual void*&nbsp;</td><td valign=bottom><a class="el" href="classSerializerFactory.html#a3">Deserialize</a> (std::string &amp;val)=0</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize/converts an XML representation to a C++ object.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  (De)serialization interface for user defined types.
  <p>
  This is the abstract class/interface that should be implemented by the user for (de)serialization of user defined types. A SerializerFactory  is registered with a Type Mapping instance as part of the <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>.
  <p>
  Hope this will do the job?? but further discussions are required.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="SerializerFactory_8hpp-source.html#l00064">64</a> of file <a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="SerializerFactory::SerializerFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SerializerFactory::SerializerFactory (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SerializerFactory_8hpp-source.html#l00067">67</a> of file <a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="SerializerFactory::~SerializerFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  SerializerFactory::~SerializerFactory (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="SerializerFactory_8hpp-source.html#l00068">68</a> of file <a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="SerializerFactory::Deserialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void * SerializerFactory::Deserialize (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>val</em>&nbsp;)<code> [pure virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize/converts an XML representation to a C++ object.
  <p>
  Deserialize/converts an XML representation to a C++ object using  a specific XML processing mechanism and based on the specified type  mapping and encoding style. 
  <p>
  Reimplemented in <a class="el" href="classSOAPEncoding.html#a3">SOAPEncoding</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="SerializerFactory::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string SerializerFactory::Serialize (
            </b></td>
            <td valign="bottom"><b>
  const void * <em>val</em>&nbsp;)<code> [pure virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize/converts a C++ object to an XML representation.
  <p>
  Serialize/converts a C++ object to an XML representation using a specific XML processing mechanism and based on the specified type  mapping and encoding style. 
  <p>
  Reimplemented in <a class="el" href="classSOAPEncoding.html#a2">SOAPEncoding</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="SerializerFactory_8hpp-source.html">SerializerFactory.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classServiceFactory-members.html
  
  Index: classServiceFactory-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory Member List</h1>This is the complete list of members for <a class="el" href="classServiceFactory.html">ServiceFactory</a>, including all inherited members.<ul>
  <li><a class="el" href="classServiceFactory.html#d0">CreateCall</a>()
  <code> [inline, static]</code><li><a class="el" href="classServiceFactory.html#a0">ServiceFactory</a>()
  <li><a class="el" href="classServiceFactory.html#a1">~ServiceFactory</a>()=0
  <code> [pure virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classServiceFactory.html
  
  Index: classServiceFactory.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ServiceFactory class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ServiceFactory  Class Reference</h1>Instancetiate <a class="el" href="classCall.html">Call</a> object for the dynamic invocation of a remote operation. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a>&gt;</code>
  <p>
  <a href="classServiceFactory-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classServiceFactory.html#a0">ServiceFactory</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classServiceFactory.html#a1">~ServiceFactory</a> ()=0</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>for the time being keep this abstract.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classCall.html">Call</a>*&nbsp;</td><td valign=bottom><a class="el" href="classServiceFactory.html#d0">CreateCall</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>just return new <a class="el" href="classCall.html">Call</a> object for the time being.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Instancetiate <a class="el" href="classCall.html">Call</a> object for the dynamic invocation of a remote operation.
  <p>
  A ServiceFactory class acts as a factory of the following objects:
  <p>
  Instance of <a class="el" href="classCall.html">Call</a> for the dynamic invocation of a remote operation on a service port.  Dynamic proxy for a service port??.
  <p>
  This class handles WSDL -- service creations for the client side. This is currently creating a <a class="el" href="classCall.html">Call</a> client interface. Until the WSDL2C++ classes are ready. 
  <p>
  
  <p>
  Definition at line <a class="el" href="ServiceFactory_8hpp-source.html#l00065">65</a> of file <a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="ServiceFactory::ServiceFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ServiceFactory::ServiceFactory (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="ServiceFactory_8cpp-source.html#l00050">50</a> of file <a class="el" href="ServiceFactory_8cpp-source.html">ServiceFactory.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="ServiceFactory::~ServiceFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ServiceFactory::~ServiceFactory (
            </b></td>
            <td valign="bottom"><b>
  )<code> [pure virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  for the time being keep this abstract.
  <p>
  
  <p>
  Definition at line <a class="el" href="ServiceFactory_8cpp-source.html#l00055">55</a> of file <a class="el" href="ServiceFactory_8cpp-source.html">ServiceFactory.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="d0" doxytag="ServiceFactory::CreateCall"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classCall.html">Call</a> * ServiceFactory::CreateCall (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline, static]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  just return new <a class="el" href="classCall.html">Call</a> object for the time being.
  <p>
  
  <p>
  Definition at line <a class="el" href="ServiceFactory_8hpp-source.html#l00074">74</a> of file <a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="ServiceFactory_8hpp-source.html">ServiceFactory.hpp</a><li><a class="el" href="ServiceFactory_8cpp-source.html">ServiceFactory.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport-members.html
  
  Index: classTransport-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport Member List</h1>This is the complete list of members for <a class="el" href="classTransport.html">Transport</a>, including all inherited members.<ul>
  <li><a class="el" href="classTransport.html#a3">GetStatus</a>(const std::string &amp;payload)
  <code> [inline, virtual]</code><li><a class="el" href="classTransport.html#a2">Init</a>()
  <code> [inline, virtual]</code><li><a class="el" href="classTransport.html#n3">m_bStatus</a>
  <code> [protected]</code><li><a class="el" href="classTransport.html#n2">m_Channel</a>
  <code> [protected]</code><li><a class="el" href="classTransport.html#n1">m_strUrl</a>
  <code> [protected]</code><li><a class="el" href="classTransport.html#n0">m_Url</a>
  <code> [protected]</code><li><a class="el" href="classTransport.html#a6">operator&lt;&lt;</a>(const std::string &amp;msg)
  <code> [inline, virtual]</code><li><a class="el" href="classTransport.html#a5">operator&gt;&gt;</a>(std::string &amp;msg)
  <code> [inline, virtual]</code><li><a class="el" href="classTransport.html#a4">SetProperty</a>(const std::string &amp;p_Property, const std::string &amp;p_Value)
  <code> [inline, virtual]</code><li><a class="el" href="classTransport.html#a0">Transport</a>()
  <li><a class="el" href="classTransport.html#a1">~Transport</a>()
  <code> [virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransport.html
  
  Index: classTransport.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Transport class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Transport  Class Reference</h1>The Transport interface for SOAP envelop carrier. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for Transport::
  <p><center><img src="classTransport.gif" usemap="#Transport_map" border="0"></center>
  <map name="Transport_map">
  <area href="classHttpTransport.html" alt="HttpTransport" shape="rect" coords="0,56,88,80">
  </map>
  <a href="classTransport-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a0">Transport</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a1">~Transport</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a2">Init</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a3">GetStatus</a> (const std::string &amp;payload)</td></tr>
  <tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a4">SetProperty</a> (const std::string &amp;p_Property, const std::string &amp;p_Value)</td></tr>
  <tr><td nowrap align=right valign=top>virtual const Transport&amp;&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a5">operator&gt;&gt;</a> (std::string &amp;msg)</td></tr>
  <tr><td nowrap align=right valign=top>virtual const Transport&amp;&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#a6">operator&lt;&lt;</a> (const std::string &amp;msg)</td></tr>
  <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classUrl.html">Url</a>&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#n0">m_Url</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#n1">m_strUrl</a></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classChannel.html">Channel</a>&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#n2">m_Channel</a></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classTransport.html#n3">m_bStatus</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  The Transport interface for SOAP envelop carrier.
  <p>
  Implements Transport as SOAP-Envelop carrier, for sending/receiving SOAP Envelops with any protocol; This implementation abstract the  Transport layer for the SOAP payloads
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00063">63</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Transport::Transport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Transport::Transport (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8cpp-source.html#l00050">50</a> of file <a class="el" href="Transport_8cpp-source.html">Transport.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Transport::~Transport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Transport::~Transport (
            </b></td>
            <td valign="bottom"><b>
  )<code> [virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8cpp-source.html#l00055">55</a> of file <a class="el" href="Transport_8cpp-source.html">Transport.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a3" doxytag="Transport::GetStatus"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Transport::GetStatus (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_HttpPacket</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classHttpTransport.html#a4">HttpTransport</a>.
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00070">70</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.
  <p>
  Referenced by <a class="el" href="Channel_8cpp-source.html#l00216">Channel::operator&gt;&gt;</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="Transport::Init"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Transport::Init (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classHttpTransport.html#a3">HttpTransport</a>.
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00069">69</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="Transport::SetProperty"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Transport::SetProperty (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Property</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>p_Value</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classHttpTransport.html#a5">HttpTransport</a>.
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00071">71</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="Transport::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const Transport &amp; Transport::operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Payload</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classHttpTransport.html#a7">HttpTransport</a>.
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00075">75</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="Transport::operator>>"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const Transport &amp; Transport::operator&gt;&gt; (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>p_Payload</em>&nbsp;)<code> [inline, virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Reimplemented in <a class="el" href="classHttpTransport.html#a6">HttpTransport</a>.
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00074">74</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="n2" doxytag="Transport::m_Channel"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classChannel.html">Channel</a> Transport::m_Channel<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00082">82</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n0" doxytag="Transport::m_Url"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classUrl.html">Url</a> Transport::m_Url<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00080">80</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n3" doxytag="Transport::m_bStatus"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool Transport::m_bStatus<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00084">84</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <a name="n1" doxytag="Transport::m_strUrl"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Transport::m_strUrl<code> [protected]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Transport_8hpp-source.html#l00081">81</a> of file <a class="el" href="Transport_8hpp-source.html">Transport.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Transport_8hpp-source.html">Transport.hpp</a><li><a class="el" href="Transport_8cpp-source.html">Transport.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransportFactory-members.html
  
  Index: classTransportFactory-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory Member List</h1>This is the complete list of members for <a class="el" href="classTransportFactory.html">TransportFactory</a>, including all inherited members.<ul>
  <li><a class="el" href="classTransportFactory.html#d0">GetTransport</a>(Url &amp;url)
  <code> [static]</code><li><a class="el" href="classTransportFactory.html#a0">TransportFactory</a>()
  <li><a class="el" href="classTransportFactory.html#a1">~TransportFactory</a>()=0
  <code> [pure virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTransportFactory.html
  
  Index: classTransportFactory.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TransportFactory class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TransportFactory  Class Reference</h1><code>#include &lt;<a class="el" href="TransportFactory_8hpp-source.html">TransportFactory.hpp</a>&gt;</code>
  <p>
  <a href="classTransportFactory-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTransportFactory.html#a0">TransportFactory</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classTransportFactory.html#a1">~TransportFactory</a> ()=0</td></tr>
  <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTransport.html">Transport</a>*&nbsp;</td><td valign=bottom><a class="el" href="classTransportFactory.html#d0">GetTransport</a> (<a class="el" href="classUrl.html">Url</a> &amp;url)</td></tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="TransportFactory::TransportFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  TransportFactory::TransportFactory (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TransportFactory_8cpp-source.html#l00052">52</a> of file <a class="el" href="TransportFactory_8cpp-source.html">TransportFactory.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="TransportFactory::~TransportFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  TransportFactory::~TransportFactory (
            </b></td>
            <td valign="bottom"><b>
  )<code> [pure virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TransportFactory_8cpp-source.html#l00057">57</a> of file <a class="el" href="TransportFactory_8cpp-source.html">TransportFactory.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="d0" doxytag="TransportFactory::GetTransport"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTransport.html">Transport</a> * TransportFactory::GetTransport (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classUrl.html">Url</a> &amp; <em>url</em>&nbsp;)<code> [static]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TransportFactory_8cpp-source.html#l00062">62</a> of file <a class="el" href="TransportFactory_8cpp-source.html">TransportFactory.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00075">SOAPMsgContext::Invoke</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="TransportFactory_8hpp-source.html">TransportFactory.hpp</a><li><a class="el" href="TransportFactory_8cpp-source.html">TransportFactory.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTypeMappingRegistry-members.html
  
  Index: classTypeMappingRegistry-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry Member List</h1>This is the complete list of members for <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>, including all inherited members.<ul>
  <li><a class="el" href="classTypeMappingRegistry.html#a2">AddSerializerFactory</a>(const std::string &amp;typname, SerializerFactory *ser)
  <li><a class="el" href="classTypeMappingRegistry.html#a3">GetSerializerFactory</a>(ax::QName &amp;qName)
  <li><a class="el" href="classTypeMappingRegistry.html#o0">m_MapRegistry</a>
  <code> [private]</code><li><a class="el" href="classTypeMappingRegistry.html#u0">TypeMap_t</a> typedef
  <code> [private]</code><li><a class="el" href="classTypeMappingRegistry.html#a0">TypeMappingRegistry</a>()
  <li><a class="el" href="classTypeMappingRegistry.html#a1">~TypeMappingRegistry</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classTypeMappingRegistry.html
  
  Index: classTypeMappingRegistry.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>TypeMappingRegistry class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>TypeMappingRegistry  Class Reference</h1>Registry for Type Mapping for the different encoding styles. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>&gt;</code>
  <p>
  <a href="classTypeMappingRegistry-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#a0">TypeMappingRegistry</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#a1">~TypeMappingRegistry</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#a2">AddSerializerFactory</a> (const std::string &amp;typname, <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *ser)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Register/adds a Type Mapping instance for a specific type name according to the schema.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classSerializerFactory.html">SerializerFactory</a>*&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#a3">GetSerializerFactory</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Returns the registered Type Mapping for the specified XML schema -data type.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>typedef std::map&lt;<a class="el" href="classax_1_1QName.html">ax::QName</a>,<br>
   <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *&gt;&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#u0">TypeMap_t</a></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html#u0">TypeMap_t</a>&nbsp;</td><td valign=bottom><a class="el" href="classTypeMappingRegistry.html#o0">m_MapRegistry</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Registry for Type Mapping for the different encoding styles.
  <p>
  Defines a registry for Type Mapping instances for the different encoding styles.  See XML Schema Part 2 Datatypes for more info. 
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8hpp-source.html#l00062">62</a> of file <a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>.<hr><h2>Member Typedef Documentation</h2>
  <a name="u0" doxytag="TypeMappingRegistry::TypeMap_t"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  typedef std::map&lt; <a class="el" href="classax_1_1QName.html">ax::QName</a>, <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *&gt; TypeMappingRegistry::TypeMap_t&lt;<a class="el" href="classax_1_1QName.html">ax::QName</a>, <a class="el" href="classSerializerFactory.html">SerializerFactory</a> *&gt;<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8hpp-source.html#l00075">75</a> of file <a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="TypeMappingRegistry::TypeMappingRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  TypeMappingRegistry::TypeMappingRegistry (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8cpp-source.html#l00050">50</a> of file <a class="el" href="TypeMappingRegistry_8cpp-source.html">TypeMappingRegistry.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="TypeMappingRegistry::~TypeMappingRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  TypeMappingRegistry::~TypeMappingRegistry (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8cpp-source.html#l00061">61</a> of file <a class="el" href="TypeMappingRegistry_8cpp-source.html">TypeMappingRegistry.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a2" doxytag="TypeMappingRegistry::AddSerializerFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void TypeMappingRegistry::AddSerializerFactory (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>typname</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classSerializerFactory.html">SerializerFactory</a> * <em>ser</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Register/adds a Type Mapping instance for a specific type name according to the schema.
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8cpp-source.html#l00075">75</a> of file <a class="el" href="TypeMappingRegistry_8cpp-source.html">TypeMappingRegistry.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMsgContext_8cpp-source.html#l00070">SOAPMsgContext::RegisterTypeMapping</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="TypeMappingRegistry::GetSerializerFactory"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classSerializerFactory.html">SerializerFactory</a> * TypeMappingRegistry::GetSerializerFactory (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Returns the registered Type Mapping for the specified XML schema -data type.
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8cpp-source.html#l00070">70</a> of file <a class="el" href="TypeMappingRegistry_8cpp-source.html">TypeMappingRegistry.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00099">RPCParam::DeSerialize</a>(), and <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o0" doxytag="TypeMappingRegistry::m_MapRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html#u0">TypeMap_t</a> TypeMappingRegistry::m_MapRegistry<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="TypeMappingRegistry_8hpp-source.html#l00077">77</a> of file <a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="TypeMappingRegistry_8hpp-source.html">TypeMappingRegistry.hpp</a><li><a class="el" href="TypeMappingRegistry_8cpp-source.html">TypeMappingRegistry.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classUrl-members.html
  
  Index: classUrl-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url Member List</h1>This is the complete list of members for <a class="el" href="classUrl.html">Url</a>, including all inherited members.<ul>
  <li><a class="el" href="classUrl.html#s5s3">file</a> enum value
  <li><a class="el" href="classUrl.html#s5s2">ftp</a> enum value
  <li><a class="el" href="classUrl.html#a9">GetHostName</a>()
  <code> [inline]</code><li><a class="el" href="classUrl.html#a11">GetPort</a>()
  <code> [inline]</code><li><a class="el" href="classUrl.html#a8">GetProtocol</a>()
  <code> [inline]</code><li><a class="el" href="classUrl.html#a10">GetResource</a>()
  <code> [inline]</code><li><a class="el" href="classUrl.html#s5s0">http</a> enum value
  <li><a class="el" href="classUrl.html#s5s1">https</a> enum value
  <li><a class="el" href="classUrl.html#o1">m_Host</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o5">m_Password</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o3">m_Path</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o2">m_Port</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o0">m_Protocol</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o4">m_Query</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o7">m_URL</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#o6">m_User</a>
  <code> [private]</code><li><a class="el" href="classUrl.html#c0">ParseURL</a>(std::string &amp;url)
  <code> [private]</code><li><a class="el" href="classUrl.html#s5">Protocol</a> enum name
  <li><a class="el" href="classUrl.html#a5">SetHostName</a>(std::string host)
  <code> [inline]</code><li><a class="el" href="classUrl.html#a7">SetPort</a>(unsigned short port)
  <code> [inline]</code><li><a class="el" href="classUrl.html#a3">SetProtocol</a>(std::string prot)
  <li><a class="el" href="classUrl.html#a4">SetProtocol</a>(Protocol prot)
  <code> [inline]</code><li><a class="el" href="classUrl.html#a6">SetResource</a>(std::string path)
  <code> [inline]</code><li><a class="el" href="classUrl.html#s5s4">unknown</a> enum value
  <li><a class="el" href="classUrl.html#a0">Url</a>()
  <li><a class="el" href="classUrl.html#a1">Url</a>(std::string url)
  <li><a class="el" href="classUrl.html#a2">~Url</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classUrl.html
  
  Index: classUrl.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Url class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Url  Class Reference</h1>Manupulate URLs. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="Url_8hpp-source.html">Url.hpp</a>&gt;</code>
  <p>
  <a href="classUrl-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
  <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#s5">Protocol</a> { <br>
  &nbsp;&nbsp;<a class="el" href="classUrl.html#s5s0">http</a>, 
  <a class="el" href="classUrl.html#s5s1">https</a>, 
  <a class="el" href="classUrl.html#s5s2">ftp</a>, 
  <a class="el" href="classUrl.html#s5s3">file</a>, 
  <br>
  &nbsp;&nbsp;<a class="el" href="classUrl.html#s5s4">unknown</a>
  <br>
   }</td></tr>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a0">Url</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a1">Url</a> (std::string url)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a2">~Url</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a3">SetProtocol</a> (std::string prot)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a4">SetProtocol</a> (<a class="el" href="classUrl.html#s5">Protocol</a> prot)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a5">SetHostName</a> (std::string host)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a6">SetResource</a> (std::string path)</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a7">SetPort</a> (unsigned short port)</td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classUrl.html#s5">Protocol</a>&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a8">GetProtocol</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a9">GetHostName</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a10">GetResource</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>unsigned short&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#a11">GetPort</a> ()</td></tr>
  <tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#c0">ParseURL</a> (std::string &amp;url)</td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classUrl.html#s5">Protocol</a>&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o0">m_Protocol</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o1">m_Host</a></td></tr>
  <tr><td nowrap align=right valign=top>unsigned short&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o2">m_Port</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o3">m_Path</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o4">m_Query</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o5">m_Password</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o6">m_User</a></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classUrl.html#o7">m_URL</a></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Manupulate URLs.
  <p>
  Implementation of URL to manupulate URLs.
  <p>
  This implementation only supports subset of a URL note that # references, userinfo query string  processing are not supported for this version.
  <p>
  URLs are of the form:
  <p>
  URL = protocol "://" server "/" [path]["?" query] server = [userinfo "@"] hostname-port hostname-port = hostname [ ":" port ] userinfo = user[:password] 
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00076">76</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.<hr><h2>Member Enumeration Documentation</h2>
  <a name="s5" doxytag="Url::Protocol"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  enum Url::Protocol
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  <dl compact><dt>
  <b>Enumeration values:</b><dd>
  <table border=0 cellspacing=2 cellpadding=0>
  <tr><td valign=top><a name="s5s0" doxytag="http"></a><em>http</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s5s1" doxytag="https"></a><em>https</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s5s2" doxytag="ftp"></a><em>ftp</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s5s3" doxytag="file"></a><em>file</em>
  &nbsp;</td><td>
  </td></tr>
  <tr><td valign=top><a name="s5s4" doxytag="unknown"></a><em>unknown</em>
  &nbsp;</td><td>
  </td></tr>
  </table>
  </dl>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00080">80</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="Url::Url"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Url::Url (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8cpp-source.html#l00050">50</a> of file <a class="el" href="Url_8cpp-source.html">Url.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="Url::Url"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Url::Url (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>url</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8cpp-source.html#l00055">55</a> of file <a class="el" href="Url_8cpp-source.html">Url.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="Url::~Url"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  Url::~Url (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8cpp-source.html#l00069">69</a> of file <a class="el" href="Url_8cpp-source.html">Url.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a9" doxytag="Url::GetHostName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::GetHostName (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00099">99</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a11" doxytag="Url::GetPort"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned short Url::GetPort (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00102">102</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a8" doxytag="Url::GetProtocol"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classUrl.html#s5">Protocol</a> Url::GetProtocol (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00098">98</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.
  <p>
  Referenced by <a class="el" href="TransportFactory_8cpp-source.html#l00062">TransportFactory::GetTransport</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a10" doxytag="Url::GetResource"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::GetResource (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00100">100</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="c0" doxytag="Url::ParseURL"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::ParseURL (
            </b></td>
            <td valign="bottom"><b>
  std::string &amp; <em>url</em>&nbsp;)<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8cpp-source.html#l00102">102</a> of file <a class="el" href="Url_8cpp-source.html">Url.cpp</a>.
  <p>
  Referenced by <a class="el" href="Url_8cpp-source.html#l00055">Url</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="Url::SetHostName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::SetHostName (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>host</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00094">94</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="Url::SetPort"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::SetPort (
            </b></td>
            <td valign="bottom"><b>
  unsigned short <em>port</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00096">96</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="Url::SetProtocol"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::SetProtocol (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classUrl.html#s5">Protocol</a> <em>prot</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00093">93</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="Url::SetProtocol"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::SetProtocol (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>prot</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8cpp-source.html#l00074">74</a> of file <a class="el" href="Url_8cpp-source.html">Url.cpp</a>.
  <p>
  Referenced by <a class="el" href="Url_8cpp-source.html#l00102">ParseURL</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="Url::SetResource"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void Url::SetResource (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>path</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00095">95</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o1" doxytag="Url::m_Host"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_Host<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00111">111</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o5" doxytag="Url::m_Password"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_Password<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00116">116</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="Url::m_Path"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_Path<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00113">113</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="Url::m_Port"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  unsigned short Url::m_Port<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00112">112</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="Url::m_Protocol"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classUrl.html#s5">Protocol</a> Url::m_Protocol<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00110">110</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="Url::m_Query"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_Query<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00114">114</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o7" doxytag="Url::m_URL"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_URL<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00118">118</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o6" doxytag="Url::m_User"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string Url::m_User<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="Url_8hpp-source.html#l00117">117</a> of file <a class="el" href="Url_8hpp-source.html">Url.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="Url_8hpp-source.html">Url.hpp</a><li><a class="el" href="Url_8cpp-source.html">Url.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLDeSerializer-members.html
  
  Index: classXMLDeSerializer-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer Member List</h1>This is the complete list of members for <a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a>, including all inherited members.<ul>
  <li><a class="el" href="classXMLDeSerializer.html#a2">DeSerialize</a>(MessageElement &amp;p_Elm)
  <li><a class="el" href="classXMLDeSerializer.html#o3">errReporter</a>
  <code> [private]</code><li><a class="el" href="classXMLDeSerializer.html#a6">GetQNameFromStr</a>(std::string strQName)
  <li><a class="el" href="classXMLDeSerializer.html#a8">GetTypeMapper</a>()
  <code> [inline]</code><li><a class="el" href="classXMLDeSerializer.html#o0">m_nsStk</a>
  <code> [private]</code><li><a class="el" href="classXMLDeSerializer.html#o1">m_pCurNode</a>
  <code> [private]</code><li><a class="el" href="classXMLDeSerializer.html#o4">m_pTypeMapper</a>
  <code> [private]</code><li><a class="el" href="classXMLDeSerializer.html#o2">parser</a>
  <code> [private]</code><li><a class="el" href="classXMLDeSerializer.html#a5">QNameToStr</a>(ax::QName &amp;qName)
  <li><a class="el" href="classXMLDeSerializer.html#a4">RegisterPrefixForURI</a>(const std::string &amp;prefix, const std::string &amp;uri)
  <li><a class="el" href="classXMLDeSerializer.html#a3">SetContext</a>(DOM_Node &amp;p_CurNode)
  <code> [inline]</code><li><a class="el" href="classXMLDeSerializer.html#a7">SetTypeMappingRegistry</a>(TypeMappingRegistry *p_TypMapper)
  <code> [inline]</code><li><a class="el" href="classXMLDeSerializer.html#a0">XMLDeSerializer</a>(const std::string &amp;p_Msg)
  <li><a class="el" href="classXMLDeSerializer.html#a1">~XMLDeSerializer</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLDeSerializer.html
  
  Index: classXMLDeSerializer.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLDeSerializer class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLDeSerializer  Class Reference</h1>SOAP Envelop deserialiser. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>&gt;</code>
  <p>
  <a href="classXMLDeSerializer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a0">XMLDeSerializer</a> (const std::string &amp;p_Msg)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Create deserializer by parsing the SOAP Envelop passed.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a1">~XMLDeSerializer</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a2">DeSerialize</a> (<a class="el" href="classMessageElement.html">MessageElement</a> &amp;p_Elm)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Deserialize a given SOAP Message Element.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a3">SetContext</a> (DOM_Node &amp;p_CurNode)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets the current branch that the deserilisation involve.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a4">RegisterPrefixForURI</a> (const std::string &amp;prefix, const std::string &amp;uri)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>register prefixes for given URI.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a5">QNameToStr</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Convert QName to a string form consisting of prefix:localpart.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classax_1_1QName.html">ax::QName</a>&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a6">GetQNameFromStr</a> (std::string strQName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Convert prefix:localpart to a QName.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a7">SetTypeMappingRegistry</a> (<a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *p_TypMapper)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets Type Mapping Registry for type mapping of given encoding.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#a8">GetTypeMapper</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get a handle to the current type mapping registry.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classNsStack.html">NsStack</a>&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#o0">m_nsStk</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace stack for namespace mapping for the current context.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Node&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#o1">m_pCurNode</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Current DOM Node of the branch the deserilization apply.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>DOMParser*&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#o2">parser</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>DOM parser to parse the SOAP envelop.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#o3">errReporter</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>DOM parser error handler.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLDeSerializer.html#o4">m_pTypeMapper</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Type mapping registry to obtain deserilized objects.</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  SOAP Envelop deserialiser.
  <p>
  Delare and define SOAP Envelop Deserializer for deserialization of XML SOAP envelop; This uses XML DOM parser to parse the SOAP Envelop and build out a DOM document which contain each components of the  SOAP Envelop such as SOAP Header, body, RPC components etc.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00076">76</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="XMLDeSerializer::XMLDeSerializer"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLDeSerializer::XMLDeSerializer (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_Msg</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Create deserializer by parsing the SOAP Envelop passed.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00059">59</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="XMLDeSerializer::~XMLDeSerializer"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLDeSerializer::~XMLDeSerializer (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00124">124</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a2" doxytag="XMLDeSerializer::DeSerialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLDeSerializer::DeSerialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classMessageElement.html">MessageElement</a> &amp; <em>p_Elm</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Deserialize a given SOAP Message Element.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00131">131</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00119">SOAPMessage::DeSerialize</a>(), <a class="el" href="SOAPFaultElement_8cpp-source.html#l00105">SOAPFaultElement::DeSerialize</a>(), <a class="el" href="SOAPBodyElement_8cpp-source.html#l00101">SOAPBodyElement::DeSerialize</a>(), and <a class="el" href="RPCElement_8cpp-source.html#l00139">RPCElement::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="XMLDeSerializer::GetQNameFromStr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">ax::QName</a> XMLDeSerializer::GetQNameFromStr (
            </b></td>
            <td valign="bottom"><b>
  std::string <em>strQName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Convert prefix:localpart to a QName.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00152">152</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00099">RPCParam::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a8" doxytag="XMLDeSerializer::GetTypeMapper"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * XMLDeSerializer::GetTypeMapper (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get a handle to the current type mapping registry.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00102">102</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00099">RPCParam::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="XMLDeSerializer::QNameToStr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string XMLDeSerializer::QNameToStr (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Convert QName to a string form consisting of prefix:localpart.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00167">167</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLDeSerializer_8cpp-source.html#l00131">DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="XMLDeSerializer::RegisterPrefixForURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLDeSerializer::RegisterPrefixForURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>prefix</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>uri</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  register prefixes for given URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8cpp-source.html#l00162">162</a> of file <a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCElement_8cpp-source.html#l00139">RPCElement::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a3" doxytag="XMLDeSerializer::SetContext"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLDeSerializer::SetContext (
            </b></td>
            <td valign="bottom"><b>
  DOM_Node &amp; <em>p_CurNode</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets the current branch that the deserilisation involve.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00087">87</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a7" doxytag="XMLDeSerializer::SetTypeMappingRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLDeSerializer::SetTypeMappingRegistry (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <em>p_TypMapper</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets Type Mapping Registry for type mapping of given encoding.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00099">99</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00119">SOAPMessage::DeSerialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o3" doxytag="XMLDeSerializer::errReporter"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a> * XMLDeSerializer::errReporter<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  DOM parser error handler.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00113">113</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="XMLDeSerializer::m_nsStk"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classNsStack.html">NsStack</a> XMLDeSerializer::m_nsStk<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Namespace stack for namespace mapping for the current context.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00108">108</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="XMLDeSerializer::m_pCurNode"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Node XMLDeSerializer::m_pCurNode<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Current DOM Node of the branch the deserilization apply.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00110">110</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="XMLDeSerializer::m_pTypeMapper"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * XMLDeSerializer::m_pTypeMapper<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Type mapping registry to obtain deserilized objects.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00115">115</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="XMLDeSerializer::parser"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOMParser * XMLDeSerializer::parser<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  DOM parser to parse the SOAP envelop.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLDeSerializer_8hpp-source.html#l00112">112</a> of file <a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="XMLDeSerializer_8hpp-source.html">XMLDeSerializer.hpp</a><li><a class="el" href="XMLDeSerializer_8cpp-source.html">XMLDeSerializer.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLFormatTarget.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLFormatTarget.html
  
  Index: classXMLFormatTarget.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLFormatTarget class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLFormatTarget  Class Reference</h1><p>Inheritance diagram for XMLFormatTarget::
  <p><center><img src="classXMLFormatTarget.gif" usemap="#XMLFormatTarget_map" border="0"></center>
  <map name="XMLFormatTarget_map">
  <area href="classSOAPEnvelopFormatter.html" alt="SOAPEnvelopFormatter" shape="rect" coords="0,56,147,80">
  </map>
  <table border=0 cellpadding=0 cellspacing=0>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLSerializer-members.html
  
  Index: classXMLSerializer-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer Member List</h1>This is the complete list of members for <a class="el" href="classXMLSerializer.html">XMLSerializer</a>, including all inherited members.<ul>
  <li><a class="el" href="classXMLSerializer.html#a11">Append</a>(ax::QName &amp;p_qName, AttList &amp;p_attList)
  <li><a class="el" href="classXMLSerializer.html#a9">EndElem</a>()
  <li><a class="el" href="classXMLSerializer.html#a13">flush</a>()
  <li><a class="el" href="classXMLSerializer.html#a3">GetPrefixForURI</a>(const std::string &amp;uri)
  <li><a class="el" href="classXMLSerializer.html#a4">GetPrefixForURI</a>(const std::string &amp;uri, std::string defaultPrefix)
  <li><a class="el" href="classXMLSerializer.html#a7">GetTypeMapper</a>()
  <code> [inline]</code><li><a class="el" href="classXMLSerializer.html#o6">impl</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o1">m_bStartDoc</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o10">m_ChildElm</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o9">m_CurElm</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o8">m_CurNode</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o11">m_CurTxtElm</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o7">m_Doc</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o2">m_nIndent</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o0">m_nsStk</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o3">m_PrefixIndx</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o5">m_pTypeMapper</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#o4">m_xmlBuffer</a>
  <code> [private]</code><li><a class="el" href="classXMLSerializer.html#l0">operator&lt;&lt;</a>(std::ostream &amp;target, const DOMString &amp;toWrite)
  <code> [friend]</code><li><a class="el" href="classXMLSerializer.html#l1">operator&lt;&lt;</a>(std::ostream &amp;target, DOM_Node &amp;toWrite)
  <code> [friend]</code><li><a class="el" href="classXMLSerializer.html#l2">operator&lt;&lt;</a>(XMLFormatter &amp;strm, const DOMString &amp;s)
  <code> [friend]</code><li><a class="el" href="classXMLSerializer.html#a5">QNameToStr</a>(ax::QName &amp;qName)
  <li><a class="el" href="classXMLSerializer.html#a2">RegisterPrefixForURI</a>(const std::string &amp;prefix, const std::string &amp;uri)
  <li><a class="el" href="classXMLSerializer.html#a12">Serialize</a>(ax::QName p_qName, AttList &amp;p_attList, const char *value)
  <li><a class="el" href="classXMLSerializer.html#a6">SetTypeMappingRegistry</a>(TypeMappingRegistry *p_TypMapper)
  <code> [inline]</code><li><a class="el" href="classXMLSerializer.html#a8">StartElem</a>(ax::QName &amp;p_qName, AttList &amp;p_attList)
  <li><a class="el" href="classXMLSerializer.html#a10">WriteStr</a>(const std::string &amp;str)
  <li><a class="el" href="classXMLSerializer.html#a0">XMLSerializer</a>(XmlWriter &amp;str)
  <li><a class="el" href="classXMLSerializer.html#a1">~XMLSerializer</a>()
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXMLSerializer.html
  
  Index: classXMLSerializer.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XMLSerializer class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XMLSerializer  Class Reference</h1>Serializes XML SOAP Envelop fragments to form a SOAP Message. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>&gt;</code>
  <p>
  <a href="classXMLSerializer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a0">XMLSerializer</a> (<a class="el" href="classXmlWriter.html">XmlWriter</a> &amp;str)</td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a1">~XMLSerializer</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a2">RegisterPrefixForURI</a> (const std::string &amp;prefix, const std::string &amp;uri)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Register a Prefix for a namespace URI.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a3">GetPrefixForURI</a> (const std::string &amp;uri)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get a prefix for a given namespace URI.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a4">GetPrefixForURI</a> (const std::string &amp;uri, std::string defaultPrefix)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Get a prefix for the given namespace URI.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a5">QNameToStr</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Convert Qualified Name to a string as: prefix:local-name.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a6">SetTypeMappingRegistry</a> (<a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> *p_TypMapper)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets a reference to the TypeMapping Registry.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a7">GetTypeMapper</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Obtain a reference to the <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> we're using.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a8">StartElem</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;p_qName, <a class="el" href="classAttList.html">AttList</a> &amp;p_attList)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Start building DOM sub-tree rooted at element having tag name with the given QName.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a9">EndElem</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>End this branch of the DOM tree.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a10">WriteStr</a> (const std::string &amp;str)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Write TEXT- node.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Element&amp;&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a11">Append</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> &amp;p_qName, <a class="el" href="classAttList.html">AttList</a> &amp;p_attList)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Append a subtree to the current node.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a12">Serialize</a> (<a class="el" href="classax_1_1QName.html">ax::QName</a> p_qName, <a class="el" href="classAttList.html">AttList</a> &amp;p_attList, const char *value)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Serialize a SOAP body element by appending a branch to the current node.</em> <a href="#a12">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#a13">flush</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Write the content of the DOM document into a stream.</em> <a href="#a13">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classNsStack.html">NsStack</a>&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o0">m_nsStk</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace stack for namespace mapping for the current context.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o1">m_bStartDoc</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Starting to build a DOM document from SOAP Message components.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o2">m_nIndent</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>To make pertty.</em> <a href="#o2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o3">m_PrefixIndx</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>To make pretty.</em> <a href="#o3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classXmlWriter.html">XmlWriter</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o4">m_xmlBuffer</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>output stream to dump serilized DOM document.</em> <a href="#o4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>*&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o5">m_pTypeMapper</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_DOMImplementation&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o6">impl</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Document&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o7">m_Doc</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Node&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o8">m_CurNode</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Element&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o9">m_CurElm</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Element&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o10">m_ChildElm</a></td></tr>
  <tr><td nowrap align=right valign=top>DOM_Text&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#o11">m_CurTxtElm</a></td></tr>
  <tr><td colspan=2><br><h2>Friends</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::ostream&amp;&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#l0">operator&lt;&lt;</a> (std::ostream &amp;target, const DOMString &amp;toWrite)</td></tr>
  <tr><td nowrap align=right valign=top>std::ostream&amp;&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#l1">operator&lt;&lt;</a> (std::ostream &amp;target, DOM_Node &amp;toWrite)</td></tr>
  <tr><td nowrap align=right valign=top>XMLFormatter&amp;&nbsp;</td><td valign=bottom><a class="el" href="classXMLSerializer.html#l2">operator&lt;&lt;</a> (XMLFormatter &amp;strm, const DOMString &amp;s)</td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Serializes XML SOAP Envelop fragments to form a SOAP Message.
  <p>
  Manage a serialization, including keeping track of namespace mappings  and element stacks.
  <p>
  
  <p>
   
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00073">73</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="XMLSerializer::XMLSerializer"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLSerializer::XMLSerializer (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classXmlWriter.html">XmlWriter</a> &amp; <em>str</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00066">66</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="XMLSerializer::~XMLSerializer"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLSerializer::~XMLSerializer (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00084">84</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a11" doxytag="XMLSerializer::Append"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Element &amp; XMLSerializer::Append (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>p_qName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classAttList.html">AttList</a> &amp; <em>p_attList</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Append a subtree to the current node.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00108">108</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00151">Serialize</a>(), and <a class="el" href="XMLSerializer_8cpp-source.html#l00090">StartElem</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a9" doxytag="XMLSerializer::EndElem"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::EndElem (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  End this branch of the DOM tree.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00145">145</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPHeader_8cpp-source.html#l00069">SOAPHeader::Serialize</a>(), <a class="el" href="SOAPFaultElement_8cpp-source.html#l00094">SOAPFaultElement::Serialize</a>(), <a class="el" href="SOAPBodyElement_8cpp-source.html#l00089">SOAPBodyElement::Serialize</a>(), and <a class="el" href="RPCElement_8cpp-source.html#l00127">RPCElement::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a4" doxytag="XMLSerializer::GetPrefixForURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string XMLSerializer::GetPrefixForURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>uri</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  std::string <em>defaultPrefix</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get a prefix for the given namespace URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00169">169</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="XMLSerializer::GetPrefixForURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string XMLSerializer::GetPrefixForURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>uri</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Get a prefix for a given namespace URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00162">162</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00191">QNameToStr</a>(), and <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a7" doxytag="XMLSerializer::GetTypeMapper"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * XMLSerializer::GetTypeMapper (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Obtain a reference to the <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> we're using.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00095">95</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a5" doxytag="XMLSerializer::QNameToStr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string XMLSerializer::QNameToStr (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Convert Qualified Name to a string as: prefix:local-name.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00191">191</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00108">Append</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a2" doxytag="XMLSerializer::RegisterPrefixForURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::RegisterPrefixForURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>prefix</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>uri</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Register a Prefix for a namespace URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00157">157</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00169">GetPrefixForURI</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a12" doxytag="XMLSerializer::Serialize"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::Serialize (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> <em>p_qName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classAttList.html">AttList</a> &amp; <em>p_attList</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const char * <em>value</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Serialize a SOAP body element by appending a branch to the current node.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00151">151</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a6" doxytag="XMLSerializer::SetTypeMappingRegistry"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::SetTypeMappingRegistry (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * <em>p_TypMapper</em>&nbsp;)<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets a reference to the TypeMapping Registry.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00092">92</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPMessage_8cpp-source.html#l00092">SOAPMessage::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a8" doxytag="XMLSerializer::StartElem"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::StartElem (
            </b></td>
            <td valign="bottom"><b>
  <a class="el" href="classax_1_1QName.html">ax::QName</a> &amp; <em>p_qName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  <a class="el" href="classAttList.html">AttList</a> &amp; <em>p_attList</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Start building DOM sub-tree rooted at element having tag name with the given QName.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00090">90</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPHeader_8cpp-source.html#l00069">SOAPHeader::Serialize</a>(), <a class="el" href="SOAPFaultElement_8cpp-source.html#l00094">SOAPFaultElement::Serialize</a>(), <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">SOAPEnvelope::Serialize</a>(), <a class="el" href="SOAPBodyElement_8cpp-source.html#l00089">SOAPBodyElement::Serialize</a>(), and <a class="el" href="RPCElement_8cpp-source.html#l00127">RPCElement::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a10" doxytag="XMLSerializer::WriteStr"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::WriteStr (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>str</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Write TEXT- node.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00139">139</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00151">Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a13" doxytag="XMLSerializer::flush"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void XMLSerializer::flush (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Write the content of the DOM document into a stream.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00198">198</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.
  <p>
  Referenced by <a class="el" href="SOAPEnvelope_8cpp-source.html#l00128">SOAPEnvelope::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Friends And Related Function Documentation</h2>
  <a name="l2" doxytag="XMLSerializer::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  XMLFormatter &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  XMLFormatter &amp; <em>strm</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const DOMString &amp; <em>s</em>&nbsp;)<code> [friend]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00409">409</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="l1" doxytag="XMLSerializer::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::ostream &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  std::ostream &amp; <em>target</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  DOM_Node &amp; <em>toWrite</em>&nbsp;)<code> [friend]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00241">241</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <a name="l0" doxytag="XMLSerializer::operator<<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::ostream &amp; operator&lt;&lt; (
            </b></td>
            <td valign="bottom"><b>
  std::ostream &amp; <em>target</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const DOMString &amp; <em>toWrite</em>&nbsp;)<code> [friend]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8cpp-source.html#l00400">400</a> of file <a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o6" doxytag="XMLSerializer::impl"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_DOMImplementation XMLSerializer::impl<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00134">134</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o10" doxytag="XMLSerializer::m_ChildElm"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Element XMLSerializer::m_ChildElm<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00138">138</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o9" doxytag="XMLSerializer::m_CurElm"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Element XMLSerializer::m_CurElm<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00137">137</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o8" doxytag="XMLSerializer::m_CurNode"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Node XMLSerializer::m_CurNode<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00136">136</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o11" doxytag="XMLSerializer::m_CurTxtElm"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Text XMLSerializer::m_CurTxtElm<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00139">139</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o7" doxytag="XMLSerializer::m_Doc"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  DOM_Document XMLSerializer::m_Doc<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00135">135</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o3" doxytag="XMLSerializer::m_PrefixIndx"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  int XMLSerializer::m_PrefixIndx<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  To make pretty.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00127">127</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o1" doxytag="XMLSerializer::m_bStartDoc"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool XMLSerializer::m_bStartDoc<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Starting to build a DOM document from SOAP Message components.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00125">125</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o2" doxytag="XMLSerializer::m_nIndent"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  int XMLSerializer::m_nIndent<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  To make pertty.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00126">126</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="XMLSerializer::m_nsStk"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classNsStack.html">NsStack</a> XMLSerializer::m_nsStk<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Namespace stack for namespace mapping for the current context.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00123">123</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o5" doxytag="XMLSerializer::m_pTypeMapper"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a> * XMLSerializer::m_pTypeMapper<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00131">131</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o4" doxytag="XMLSerializer::m_xmlBuffer"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classXmlWriter.html">XmlWriter</a> * XMLSerializer::m_xmlBuffer<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  output stream to dump serilized DOM document.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLSerializer_8hpp-source.html#l00129">129</a> of file <a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="XMLSerializer_8hpp-source.html">XMLSerializer.hpp</a><li><a class="el" href="XMLSerializer_8cpp-source.html">XMLSerializer.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXmlWriter.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classXmlWriter.html
  
  Index: classXmlWriter.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>XmlWriter class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>XmlWriter  Class Reference</h1>Streaming implementation of the Xml writer to dump SOAP Envelop. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a>&gt;</code>
  <p>
  <p>Inheritance diagram for XmlWriter::
  <p><center><img src="classXmlWriter.gif" usemap="#XmlWriter_map" border="0"></center>
  <map name="XmlWriter_map">
  <area href="classstd_1_1ostringstream.html" alt="std::ostringstream" shape="rect" coords="0,0,109,24">
  </map>
  <table border=0 cellpadding=0 cellspacing=0>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Streaming implementation of the Xml writer to dump SOAP Envelop.
  <p>
  Streaming implementation of the Xml writer which use as a writer for XML SOAP output on serilization; where the DOM document if dump onto.
  <p>
  Stratergy is to attach this stream with the transport channel, so that on dumping the DOM document will derectly write out to the channel or to the network socket. 
  <p>
  
  <p>
  Definition at line <a class="el" href="XmlWriter_8hpp-source.html#l00066">66</a> of file <a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a>.<hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1QName-members.html
  
  Index: classax_1_1QName-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ax::QName Member List</h1>This is the complete list of members for <a class="el" href="classax_1_1QName.html">ax::QName</a>, including all inherited members.<ul>
  <li><a class="el" href="classax_1_1QName.html#a9">GetLocalPart</a>()
  <code> [inline]</code><li><a class="el" href="classax_1_1QName.html#a8">GetNsURI</a>()
  <code> [inline]</code><li><a class="el" href="classax_1_1QName.html#o1">m_strLocalPart</a>
  <code> [private]</code><li><a class="el" href="classax_1_1QName.html#o0">m_strNsURI</a>
  <code> [private]</code><li><a class="el" href="classax_1_1QName.html#l0">operator&lt;</a>(const QName &amp;left, const QName &amp;right)
  <code> [friend]</code><li><a class="el" href="classax_1_1QName.html#a10">operator==</a>(const QName &amp;p_qName)
  <li><a class="el" href="classax_1_1QName.html#a0">QName</a>()
  <code> [inline]</code><li><a class="el" href="classax_1_1QName.html#a1">QName</a>(const std::string &amp;p_qName)
  <li><a class="el" href="classax_1_1QName.html#a2">QName</a>(const std::string &amp;p_strNsURI, const std::string &amp;p_strLocalPart)
  <li><a class="el" href="classax_1_1QName.html#a3">QName</a>(const QName &amp;p_qName)
  <li><a class="el" href="classax_1_1QName.html#a4">QName</a>(const std::string &amp;p_qName, const DOM_Element &amp;p_Elem)
  <li><a class="el" href="classax_1_1QName.html#a7">SetLocalPart</a>(const std::string &amp;p_strLocalPart)
  <li><a class="el" href="classax_1_1QName.html#a6">SetNsURI</a>(const std::string &amp;p_strNsURI)
  <li><a class="el" href="classax_1_1QName.html#a11">toString</a>()
  <li><a class="el" href="classax_1_1QName.html#a5">~QName</a>()
  <code> [inline]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1QName.html
  
  Index: classax_1_1QName.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ax::QName class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ax::QName  Class Reference</h1>Qualified name based on "Namespaces in XML" specification. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="QName_8hpp-source.html">QName.hpp</a>&gt;</code>
  <p>
  <a href="classax_1_1QName-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a0">QName</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a1">QName</a> (const std::string &amp;p_qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor <a class="el" href="classax_1_1QName.html">QName</a> from qualified name.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a2">QName</a> (const std::string &amp;p_strNsURI, const std::string &amp;p_strLocalPart)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a3">QName</a> (const QName &amp;p_qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a4">QName</a> (const std::string &amp;p_qName, const DOM_Element &amp;p_Elem)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a5">~QName</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a6">SetNsURI</a> (const std::string &amp;p_strNsURI)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets the Namespace URI for this <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a7">SetLocalPart</a> (const std::string &amp;p_strLocalPart)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Sets the Local part for this <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a8">GetNsURI</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Gets the Namespace URI for this <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a9">GetLocalPart</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Gets the Local part for this <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a10">operator==</a> (const QName &amp;p_qName)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Indicates whether some other object is "equal to" this <a class="el" href="classax_1_1QName.html">QName</a> object.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>const std::string&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#a11">toString</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Returns a string representation of this <a class="el" href="classax_1_1QName.html">QName</a>.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#o0">m_strNsURI</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Namespace URI.</em> <a href="#o0">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>std::string&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#o1">m_strLocalPart</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Loaclpart.</em> <a href="#o1">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Friends</h2></td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html#l0">operator&lt;</a> (const QName &amp;left, const QName &amp;right)</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>storage purpose in a std::map we need a get around for this.</em> <a href="#l0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  Qualified name based on "Namespaces in XML" specification.
  <p>
  Qualified name based on "Namespaces in XML" specification. defined as follows:
  <p>
  <a class="el" href="classax_1_1QName.html">QName</a> ::= (Prefix ':')? LocalPart <br>
   Prefix ::= NCName <br>
   LocalPart ::= NCName <br>
   NCName ::= (Letter | '_') (NCNameChar)* ; An XML Name, minus the ":" <br>
   NCNameChar ::= Letter | Digit | '.' | '-' | '_' etc. <br>
  
  <p>
  The Prefix provides the namespace prefix part of the qualified name, and must  be associated with a namespace URI reference in a namespace declaration.  The LocalPart provides the local part of the qualified name.  Note that the prefix functions only as a placeholder for a namespace name.  Applications should use the namespace name, not the prefix, in constructing  names whose scope extends beyond the containing document. 
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00083">83</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="ax::QName::QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::QName (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00087">87</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.    </td>
    </tr>
  </table>
  <a name="a1" doxytag="ax::QName::QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::QName (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor <a class="el" href="classax_1_1QName.html">QName</a> from qualified name.
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00057">57</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a2" doxytag="ax::QName::QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::QName (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_strNsURI</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const std::string &amp; <em>p_strLocalPart</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00081">81</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a3" doxytag="ax::QName::QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::QName (
            </b></td>
            <td valign="bottom"><b>
  const QName &amp; <em>p_qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00092">92</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a4" doxytag="ax::QName::QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::QName (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_qName</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const DOM_Element &amp; <em>p_Elem</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Constructor for the <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00102">102</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a5" doxytag="ax::QName::~QName"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  ax::QName::~QName (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00100">100</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="a9" doxytag="ax::QName::GetLocalPart"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string ax::QName::GetLocalPart (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Gets the Local part for this <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00112">112</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00191">XMLSerializer::QNameToStr</a>(), <a class="el" href="XMLDeSerializer_8cpp-source.html#l00167">XMLDeSerializer::QNameToStr</a>(), and <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a8" doxytag="ax::QName::GetNsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string ax::QName::GetNsURI (
            </b></td>
            <td valign="bottom"><b>
  )<code> [inline]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Gets the Namespace URI for this <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00109">109</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.
  <p>
  Referenced by <a class="el" href="XMLSerializer_8cpp-source.html#l00191">XMLSerializer::QNameToStr</a>(), <a class="el" href="XMLDeSerializer_8cpp-source.html#l00167">XMLDeSerializer::QNameToStr</a>(), and <a class="el" href="RPCParam_8cpp-source.html#l00084">RPCParam::Serialize</a>().
  <p>
      </td>
    </tr>
  </table>
  <a name="a7" doxytag="ax::QName::SetLocalPart"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ax::QName::SetLocalPart (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_strLocalPart</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets the Local part for this <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Sets the Local part for this <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00136">136</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a6" doxytag="ax::QName::SetNsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  void ax::QName::SetNsURI (
            </b></td>
            <td valign="bottom"><b>
  const std::string &amp; <em>p_strNsURI</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Sets the Namespace URI for this <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Sets the Namespace URI for this <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00126">126</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a10" doxytag="ax::QName::operator=="></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool ax::QName::operator== (
            </b></td>
            <td valign="bottom"><b>
  const QName &amp; <em>p_qName</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Indicates whether some other object is "equal to" this <a class="el" href="classax_1_1QName.html">QName</a> object.
  <p>
  Indicates whether some other object is "equal to" this <a class="el" href="classax_1_1QName.html">QName</a> object 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00154">154</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a11" doxytag="ax::QName::toString"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  const std::string ax::QName::toString (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Returns a string representation of this <a class="el" href="classax_1_1QName.html">QName</a>.
  <p>
  Returns a string representation of this <a class="el" href="classax_1_1QName.html">QName</a> 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00145">145</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.
  <p>
  Referenced by <a class="el" href="QName_8cpp-source.html#l00154">operator==</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Friends And Related Function Documentation</h2>
  <a name="l0" doxytag="ax::QName::operator<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool operator&lt; (
            </b></td>
            <td valign="bottom"><b>
  const QName &amp; <em>left</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const QName &amp; <em>right</em>&nbsp;)<code> [friend]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  storage purpose in a std::map we need a get around for this.
  <p>
  Storage stratergy in a std::map we need a get around for this. 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00163">163</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <hr><h2>Member Data Documentation</h2>
  <a name="o1" doxytag="ax::QName::m_strLocalPart"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string ax::QName::m_strLocalPart<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Loaclpart.
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00125">125</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.    </td>
    </tr>
  </table>
  <a name="o0" doxytag="ax::QName::m_strNsURI"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  std::string ax::QName::m_strNsURI<code> [private]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Namespace URI.
  <p>
  
  <p>
  Definition at line <a class="el" href="QName_8hpp-source.html#l00124">124</a> of file <a class="el" href="QName_8hpp-source.html">QName.hpp</a>.    </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="QName_8hpp-source.html">QName.hpp</a><li><a class="el" href="QName_8cpp-source.html">QName.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1XMLType-members.html
  
  Index: classax_1_1XMLType-members.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Member List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ax::XMLType Member List</h1>This is the complete list of members for <a class="el" href="classax_1_1XMLType.html">ax::XMLType</a>, including all inherited members.<ul>
  <li><a class="el" href="classax_1_1XMLType.html#d0">GetType</a>()
  <code> [static]</code><li><a class="el" href="classax_1_1XMLType.html#a0">XMLType</a>()
  <li><a class="el" href="classax_1_1XMLType.html#a1">~XMLType</a>()=0
  <code> [pure virtual]</code></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classax_1_1XMLType.html
  
  Index: classax_1_1XMLType.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title> Templateax::XMLType class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ax::XMLType  Class Template Reference</h1>Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name. 
  <a href="#_details">More...</a>
  <p>
  <code>#include &lt;<a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a>&gt;</code>
  <p>
  <a href="classax_1_1XMLType-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1XMLType.html#a0">XMLType</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1XMLType.html#a1">~XMLType</a> ()=0</td></tr>
  <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
  <tr><td nowrap align=right valign=top><a class="el" href="classax_1_1QName.html">QName</a>*&nbsp;</td><td valign=bottom><a class="el" href="classax_1_1XMLType.html#d0">GetType</a> ()</td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>The strategy for returning schema type as Qualified name for the specified type T.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr>
  </table>
  <hr><a name="_details"></a><h2>Detailed Description</h2>
  <h3>template&lt;typename T&gt;  class ax::XMLType</h3>
  
  Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name.
  <p>
  This is the declaration of the XMLTypes which need to be implemented  to manage serialization/deserialization of given types, when encoding and decoding data types from/to SOAP types (xml).
  <p>
  If <a class="el" href="classax_1_1XMLType.html">XMLType</a>&lt;T&gt; is undefined for user defined classes then user have  to implement it. Look in definition in <a class="el" href="XMLType_8cpp.html">XMLType.cpp</a> for examples.  Where <a class="el" href="classax_1_1QName.html">QName</a> handle the data type as SOAP schema <a class="el" href="classax_1_1QName.html">QName</a> as: xsi:int, xsi:string and so on. The user is responsible for definition of this interface for his/her class (data type) to manage correct schema definition for their type.
  <p>
  Eg: For UsrClass, the schema type could be usr_class so the <a class="el" href="classax_1_1QName.html">QName</a> is xsi:usr_class, which should be returned by implementing this interface
  <p>
  Note that this is inlcuded in the namespace <a class="el" href="namespace__ax.html">ax</a> 
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLType_8hpp-source.html#l00080">80</a> of file <a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
  <a name="a0" doxytag="ax::XMLType::XMLType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  ax::XMLType&lt;T&gt;::XMLType&lt;T&gt; (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
      </td>
    </tr>
  </table>
  <a name="a1" doxytag="ax::XMLType::~XMLType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;typename T&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  ax::XMLType&lt;T&gt;::~XMLType&lt;T&gt; (
            </b></td>
            <td valign="bottom"><b>
  )<code> [pure virtual]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
      </td>
    </tr>
  </table>
  <hr><h2>Member Function Documentation</h2>
  <a name="d0" doxytag="ax::XMLType::GetType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">QName</a> * ax::XMLType::GetType (
            </b></td>
            <td valign="bottom"><b>
  )<code> [static]</code>
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  The strategy for returning schema type as Qualified name for the specified type T.
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLType_8cpp-source.html#l00053">53</a> of file <a class="el" href="XMLType_8cpp-source.html">XMLType.cpp</a>.
  <p>
  Referenced by <a class="el" href="Call_8hpp-source.html#l00109">Call::AddParameter</a>().
  <p>
      </td>
    </tr>
  </table>
  <hr>The documentation for this class was generated from the following files:<ul>
  <li><a class="el" href="XMLType_8hpp-source.html">XMLType.hpp</a><li><a class="el" href="XMLType_8cpp-source.html">XMLType.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classes.html
  
  Index: classes.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Alphabetical index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Compound Index</h1><table align=center width="95%" border=0 cellspacing=0 cellpadding=0>
  <tr><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;A&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classHttpTransport.html">HttpTransport</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTransportFactory.html">TransportFactory</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><a class="el" href="classAttList.html">AttList</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;M&nbsp;&nbsp;</b></font></div></td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;Q&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><a class="el" href="classAxisException.html">AxisException</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classMessageElement.html">MessageElement</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classax_1_1QName.html">QName</a> (<a class="el" href="namespace__ax.html">ax</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;U&nbsp;&nbsp;</b></font></div></td></tr>
  <tr><td><a class="el" href="classAxisFault.html">AxisFault</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;N&nbsp;&nbsp;</b></font></div></td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;R&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classUrl.html">Url</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;C&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classNsMap.html">NsMap</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classReceiver.html">Receiver</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;X&nbsp;&nbsp;</b></font></div></td></tr>
  <tr><td><a class="el" href="classCall.html">Call</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classNsMap__t.html">NsMap_t</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRPCElement.html">RPCElement</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSOAPHeader.html">SOAPHeader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><a class="el" href="classChannel.html">Channel</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classNsStack.html">NsStack</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRPCParam.html">RPCParam</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSOAPMessage.html">SOAPMessage</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><a class="el" href="classChannelException.html">ChannelException</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;O&nbsp;&nbsp;</b></font></div></td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;S&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXMLSerializer.html">XMLSerializer</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;E&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classstd_1_1ostringstream.html">std::ostringstream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classSender.html">Sender</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;T&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classax_1_1XMLType.html">XMLType</a> (<a class="el" href="namespace__ax.html">ax</a>)&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><a class="el" href="classErrorHandler.html">ErrorHandler</a>&nbsp;&nbsp;&nbsp;</td><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;P&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classSerializerFactory.html">SerializerFactory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classTransport.html">Transport</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXmlWriter.html">XmlWriter</a>&nbsp;&nbsp;&nbsp;</td></tr>
  <tr><td><div class="ah"><font color="white"><b>&nbsp;&nbsp;H&nbsp;&nbsp;</b></font></div></td><td><a class="el" href="classParam.html">Param</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServiceFactory.html">ServiceFactory</a>&nbsp;&nbsp;&nbsp;</td></tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classstd_1_1ostringstream.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/classstd_1_1ostringstream.html
  
  Index: classstd_1_1ostringstream.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>std::ostringstream class Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>std::ostringstream  Class Reference</h1><p>Inheritance diagram for std::ostringstream::
  <p><center><img src="classstd_1_1ostringstream.gif" usemap="#std::ostringstream_map" border="0"></center>
  <map name="std::ostringstream_map">
  <area href="classXmlWriter.html" alt="XmlWriter" shape="rect" coords="0,56,109,80">
  </map>
  <table border=0 cellpadding=0 cellspacing=0>
  </table>
  <hr>The documentation for this class was generated from the following file:<ul>
  <li><a class="el" href="XmlWriter_8hpp-source.html">XmlWriter.hpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/doxygen.css
  
  Index: doxygen.css
  ===================================================================
  H1 { text-align: center; }
  A.qindex {}
  A.qindexRef {}
  A.el { text-decoration: none; font-weight: bold }
  A.elRef { font-weight: bold }
  A.code { text-decoration: none; font-weight: normal; color: #4444ee }
  A.codeRef { font-weight: normal; color: #4444ee }
  DL.el { margin-left: -1cm }
  DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
  DIV.ah { background-color: black; margin-bottom: 3; margin-top: 3 }
  TD.md { background-color: #f2f2ff }
  DIV.groupHeader { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold }
  DIV.groupText { margin-left: 16; font-style: italic; font-size: smaller }
  FONT.keyword       { color: #008000 }
  FONT.keywordtype   { color: #604020 }
  FONT.keywordflow   { color: #e08000 }
  FONT.comment       { color: #800000 }
  FONT.preprocessor  { color: #806020 }
  FONT.stringliteral { color: #002080 }
  FONT.charliteral   { color: #008080 }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/doxygen.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/files.html
  
  Index: files.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>File Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library File List</h1>Here is a list of all files with brief descriptions:<ul>
  <li><a class="el" href="AttList_8hpp.html">AttList.hpp</a> <a href="AttList_8hpp-source.html">[code]</a><li><a class="el" href="AxisConst_8hpp.html">AxisConst.hpp</a> <a href="AxisConst_8hpp-source.html">[code]</a><li><a class="el" href="AxisException_8cpp.html">AxisException.cpp</a> <a href="AxisException_8cpp-source.html">[code]</a><li><a class="el" href="AxisException_8hpp.html">AxisException.hpp</a> <a href="AxisException_8hpp-source.html">[code]</a><li><a class="el" href="Call_8cpp.html">Call.cpp</a> <a href="Call_8cpp-source.html">[code]</a><li><a class="el" href="Call_8hpp.html">Call.hpp</a> <a href="Call_8hpp-source.html">[code]</a><li><a class="el" href="Channel_8cpp.html">Channel.cpp</a> <a href="Channel_8cpp-source.html">[code]</a><li><a class="el" href="Channel_8hpp.html">Channel.hpp</a> <a href="Channel_8hpp-source.html">[code]</a><li><a class="el" href="HttpTransport_8cpp.html">HttpTransport.cpp</a> <a href="HttpTransport_8cpp-source.html">[code]</a><li><a class="el" href="HttpTransport_8hpp.html">HttpTransport.hpp</a> <a href="HttpTransport_8hpp-source.html">[code]</a><li><a class="el" href="MessageElement_8cpp.html">MessageElement.cpp</a> <a href="MessageElement_8cpp-source.html">[code]</a><li><a class="el" href="MessageElement_8hpp.html">MessageElement.hpp</a> <a href="MessageElement_8hpp-source.html">[code]</a><li><a class="el" href="NsStack_8cpp.html">NsStack.cpp</a> <a href="NsStack_8cpp-source.html">[code]</a><li><a class="el" href="NsStack_8hpp.html">NsStack.hpp</a> <a href="NsStack_8hpp-source.html">[code]</a><li><a class="el" href="Param_8cpp.html">Param.cpp</a> <a href="Param_8cpp-source.html">[code]</a><li><a class="el" href="Param_8hpp.html">Param.hpp</a> <a href="Param_8hpp-source.html">[code]</a><li><a class="el" href="Platform_8cpp.html">Platform.cpp</a> <a href="Platform_8cpp-source.html">[code]</a><li><a class="el" href="Platform_8hpp.html">Platform.hpp</a> <a href="Platform_8hpp-source.html">[code]</a><li><a class="el" href="QName_8cpp.html">QName.cpp</a> <a href="QName_8cpp-source.html">[code]</a><li><a class="el" href="QName_8hpp.html">QName.hpp</a> <a href="QName_8hpp-source.html">[code]</a><li><a class="el" href="Receiver_8cpp.html">Receiver.cpp</a> <a href="Receiver_8cpp-source.html">[code]</a><li><a class="el" href="Receiver_8hpp.html">Receiver.hpp</a> <a href="Receiver_8hpp-source.html">[code]</a><li><a class="el" href="RPCElement_8cpp.html">RPCElement.cpp</a> <a href="RPCElement_8cpp-source.html">[code]</a><li><a class="el" href="RPCElement_8hpp.html">RPCElement.hpp</a> <a href="RPCElement_8hpp-source.html">[code]</a><li><a class="el" href="RPCParam_8cpp.html">RPCParam.cpp</a> <a href="RPCParam_8cpp-source.html">[code]</a><li><a class="el" href="RPCParam_8hpp.html">RPCParam.hpp</a> <a href="RPCParam_8hpp-source.html">[code]</a><li><a class="el" href="Sender_8cpp.html">Sender.cpp</a> <a href="Sender_8cpp-source.html">[code]</a><li><a class="el" href="Sender_8hpp.html">Sender.hpp</a> <a href="Sender_8hpp-source.html">[code]</a><li><a class="el" href="SerializerFactory_8hpp.html">SerializerFactory.hpp</a> <a href="SerializerFactory_8hpp-source.html">[code]</a><li><a class="el" href="ServiceFactory_8cpp.html">ServiceFactory.cpp</a> <a href="ServiceFactory_8cpp-source.html">[code]</a><li><a class="el" href="ServiceFactory_8hpp.html">ServiceFactory.hpp</a> <a href="ServiceFactory_8hpp-source.html">[code]</a><li><a class="el" href="SOAPBodyElement_8cpp.html">SOAPBodyElement.cpp</a> <a href="SOAPBodyElement_8cpp-source.html">[code]</a><li><a class="el" href="SOAPBodyElement_8hpp.html">SOAPBodyElement.hpp</a> <a href="SOAPBodyElement_8hpp-source.html">[code]</a><li><a class="el" href="SOAPEncoding_8cpp.html">SOAPEncoding.cpp</a> <a href="SOAPEncoding_8cpp-source.html">[code]</a><li><a class="el" href="SOAPEncoding_8hpp.html">SOAPEncoding.hpp</a> <a href="SOAPEncoding_8hpp-source.html">[code]</a><li><a class="el" href="SOAPEnvelope_8cpp.html">SOAPEnvelope.cpp</a> <a href="SOAPEnvelope_8cpp-source.html">[code]</a><li><a class="el" href="SOAPEnvelope_8hpp.html">SOAPEnvelope.hpp</a> <a href="SOAPEnvelope_8hpp-source.html">[code]</a><li><a class="el" href="SOAPFaultElement_8cpp.html">SOAPFaultElement.cpp</a> <a href="SOAPFaultElement_8cpp-source.html">[code]</a><li><a class="el" href="SOAPFaultElement_8hpp.html">SOAPFaultElement.hpp</a> <a href="SOAPFaultElement_8hpp-source.html">[code]</a><li><a class="el" href="SOAPHeader_8cpp.html">SOAPHeader.cpp</a> <a href="SOAPHeader_8cpp-source.html">[code]</a><li><a class="el" href="SOAPHeader_8hpp.html">SOAPHeader.hpp</a> <a href="SOAPHeader_8hpp-source.html">[code]</a><li><a class="el" href="SOAPMessage_8cpp.html">SOAPMessage.cpp</a> <a href="SOAPMessage_8cpp-source.html">[code]</a><li><a class="el" href="SOAPMessage_8hpp.html">SOAPMessage.hpp</a> <a href="SOAPMessage_8hpp-source.html">[code]</a><li><a class="el" href="SOAPMsgContext_8cpp.html">SOAPMsgContext.cpp</a> <a href="SOAPMsgContext_8cpp-source.html">[code]</a><li><a class="el" href="SOAPMsgContext_8hpp.html">SOAPMsgContext.hpp</a> <a href="SOAPMsgContext_8hpp-source.html">[code]</a><li><a class="el" href="Transport_8cpp.html">Transport.cpp</a> <a href="Transport_8cpp-source.html">[code]</a><li><a class="el" href="Transport_8hpp.html">Transport.hpp</a> <a href="Transport_8hpp-source.html">[code]</a><li><a class="el" href="TransportFactory_8cpp.html">TransportFactory.cpp</a> <a href="TransportFactory_8cpp-source.html">[code]</a><li><a class="el" href="TransportFactory_8hpp.html">TransportFactory.hpp</a> <a href="TransportFactory_8hpp-source.html">[code]</a><li><a class="el" href="TypeMappingRegistry_8cpp.html">TypeMappingRegistry.cpp</a> <a href="TypeMappingRegistry_8cpp-source.html">[code]</a><li><a class="el" href="TypeMappingRegistry_8hpp.html">TypeMappingRegistry.hpp</a> <a href="TypeMappingRegistry_8hpp-source.html">[code]</a><li><a class="el" href="Url_8cpp.html">Url.cpp</a> <a href="Url_8cpp-source.html">[code]</a><li><a class="el" href="Url_8hpp.html">Url.hpp</a> <a href="Url_8hpp-source.html">[code]</a><li><a class="el" href="XercescConst_8hpp.html">XercescConst.hpp</a> <a href="XercescConst_8hpp-source.html">[code]</a><li><a class="el" href="XMLDeSerializer_8cpp.html">XMLDeSerializer.cpp</a> <a href="XMLDeSerializer_8cpp-source.html">[code]</a><li><a class="el" href="XMLDeSerializer_8hpp.html">XMLDeSerializer.hpp</a> <a href="XMLDeSerializer_8hpp-source.html">[code]</a><li><a class="el" href="XMLSerializer_8cpp.html">XMLSerializer.cpp</a> <a href="XMLSerializer_8cpp-source.html">[code]</a><li><a class="el" href="XMLSerializer_8hpp.html">XMLSerializer.hpp</a> <a href="XMLSerializer_8hpp-source.html">[code]</a><li><a class="el" href="XMLType_8cpp.html">XMLType.cpp</a> <a href="XMLType_8cpp-source.html">[code]</a><li><a class="el" href="XMLType_8hpp.html">XMLType.hpp</a> <a href="XMLType_8hpp-source.html">[code]</a><li><a class="el" href="XmlWriter_8hpp.html">XmlWriter.hpp</a> <a href="XmlWriter_8hpp-source.html">[code]</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2blank.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2doc.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2folderclosed.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2folderopen.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2lastnode.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2link.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2mlastnode.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2mnode.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2node.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2plastnode.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2pnode.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/ftv2vertline.gif
  
  	<<Binary file>>
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/functions.html
  
  Index: functions.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Compound Member Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Compound Members</h1><center>
  <a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_g">g</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_q">q</a>&nbsp;|&nbsp;<a href="#index_r">r</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_t">t</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_w">w</a>&nbsp;|&nbsp;<a href="#index_x">x</a>&nbsp;|&nbsp;<a href="#index_~">~</a></center>
  
  <p>
  Here is a list of all class members with links to the class documentation for each member:<a name="index_a"><h3>- a -</h3></a>
  <ul>
  <li>Add()
  : <a class="el" href="classNsStack.html#a1">NsStack</a>, <a class="el" href="classAttList.html#a1">AttList</a><li>AddMsgElement()
  : <a class="el" href="classSOAPFaultElement.html#a3">SOAPFaultElement</a>, <a class="el" href="classSOAPEnvelope.html#a7">SOAPEnvelope</a>, <a class="el" href="classSOAPBodyElement.html#a4">SOAPBodyElement</a>, <a class="el" href="classRPCElement.html#a4">RPCElement</a>, <a class="el" href="classMessageElement.html#a8">MessageElement</a><li>AddParameter()
  : <a class="el" href="classCall.html#a3">Call</a><li>AddSerializerFactory()
  : <a class="el" href="classTypeMappingRegistry.html#a2">TypeMappingRegistry</a>, <a class="el" href="classCall.html#a9">Call</a><li>AddSOAPBodyElement()
  : <a class="el" href="classSOAPEnvelope.html#a3">SOAPEnvelope</a><li>AddSOAPHeader()
  : <a class="el" href="classSOAPEnvelope.html#a4">SOAPEnvelope</a><li>Append()
  : <a class="el" href="classXMLSerializer.html#a11">XMLSerializer</a><li>AttList()
  : <a class="el" href="classAttList.html#a0">AttList</a><li>Attrib_t
  : <a class="el" href="classAttList.html#u0">AttList</a><li>AxisException()
  : <a class="el" href="classAxisException.html#a1">AxisException</a><li>AxisFault()
  : <a class="el" href="classAxisFault.html#a0">AxisFault</a></ul>
  <a name="index_b"><h3>- b -</h3></a>
  <ul>
  <li>buf
  : <a class="el" href="classSOAPEncoding.html#o0">SOAPEncoding</a></ul>
  <a name="index_c"><h3>- c -</h3></a>
  <ul>
  <li>Call()
  : <a class="el" href="classCall.html#a0">Call</a><li>Channel()
  : <a class="el" href="classChannel.html#a0">Channel</a><li>ChannelException()
  : <a class="el" href="classChannelException.html#a0">ChannelException</a><li>Cleanup()
  : <a class="el" href="classCall.html#c0">Call</a><li>Clear()
  : <a class="el" href="classAxisException.html#a5">AxisException</a><li>ClearAllParams()
  : <a class="el" href="classCall.html#a11">Call</a><li>Close()
  : <a class="el" href="classChannel.html#a3">Channel</a><li>CloseChannel()
  : <a class="el" href="classChannel.html#c2">Channel</a><li>CreateCall()
  : <a class="el" href="classServiceFactory.html#d0">ServiceFactory</a></ul>
  <a name="index_d"><h3>- d -</h3></a>
  <ul>
  <li>DeSerialize()
  : <a class="el" href="classXMLDeSerializer.html#a2">XMLDeSerializer</a>, <a class="el" href="classSOAPMessage.html#a13">SOAPMessage</a>, <a class="el" href="classSOAPHeader.html#a4">SOAPHeader</a>, <a class="el" href="classSOAPFaultElement.html#a5">SOAPFaultElement</a>, <a class="el" href="classSOAPEnvelope.html#a10">SOAPEnvelope</a>, <a class="el" href="classSOAPBodyElement.html#a7">SOAPBodyElement</a>, <a class="el" href="classRPCParam.html#a8">RPCParam</a>, <a class="el" href="classRPCElement.html#a6">RPCElement</a>, <a class="el" href="classMessageElement.html#a4">MessageElement</a><li>Deserialize()
  : <a class="el" href="classSOAPEncoding.html#a3">SOAPEncoding</a>, <a class="el" href="classSerializerFactory.html#a3">SerializerFactory</a></ul>
  <a name="index_e"><h3>- e -</h3></a>
  <ul>
  <li>EndElem()
  : <a class="el" href="classXMLSerializer.html#a9">XMLSerializer</a><li>Error()
  : <a class="el" href="classHttpTransport.html#c3">HttpTransport</a>, <a class="el" href="classChannel.html#c1">Channel</a><li>error()
  : <a class="el" href="classParseErrorHandler.html#a1">ParseErrorHandler</a><li>errReporter
  : <a class="el" href="classXMLDeSerializer.html#o3">XMLDeSerializer</a></ul>
  <a name="index_f"><h3>- f -</h3></a>
  <ul>
  <li>fatalError()
  : <a class="el" href="classParseErrorHandler.html#a2">ParseErrorHandler</a><li>file
  : <a class="el" href="classUrl.html#s5s3">Url</a><li>findPrefix()
  : <a class="el" href="classNsMap.html#a1">NsMap</a><li>findURI()
  : <a class="el" href="classNsMap.html#a0">NsMap</a><li>flush()
  : <a class="el" href="classXMLSerializer.html#a13">XMLSerializer</a><li>ftp
  : <a class="el" href="classUrl.html#s5s2">Url</a></ul>
  <a name="index_g"><h3>- g -</h3></a>
  <ul>
  <li>GetBody()
  : <a class="el" href="classSOAPBodyElement.html#a5">SOAPBodyElement</a><li>GetElmQName()
  : <a class="el" href="classMessageElement.html#a9">MessageElement</a><li>GetErr()
  : <a class="el" href="classChannelException.html#a2">ChannelException</a><li>GetErrorMsg()
  : <a class="el" href="classAxisException.html#a4">AxisException</a><li>GetHostName()
  : <a class="el" href="classUrl.html#a9">Url</a><li>GetLastError()
  : <a class="el" href="classChannel.html#a6">Channel</a><li>getLength()
  : <a class="el" href="classAttList.html#a2">AttList</a><li>GetLocalPart()
  : <a class="el" href="classax_1_1QName.html#a9">ax::QName</a><li>GetMsg()
  : <a class="el" href="classSOAPMessage.html#a10">SOAPMessage</a><li>GetName()
  : <a class="el" href="classRPCParam.html#a5">RPCParam</a><li>getName()
  : <a class="el" href="classAttList.html#a3">AttList</a><li>GetNamespaceURI()
  : <a class="el" href="classNsStack.html#a6">NsStack</a><li>GetNsURI()
  : <a class="el" href="classax_1_1QName.html#a8">ax::QName</a><li>GetPayLoad()
  : <a class="el" href="classHttpTransport.html#c2">HttpTransport</a><li>GetPort()
  : <a class="el" href="classUrl.html#a11">Url</a><li>GetPrefix()
  : <a class="el" href="classNsStack.html#a5">NsStack</a><li>GetPrefixForURI()
  : <a class="el" href="classXMLSerializer.html#a4">XMLSerializer</a><li>GetProtocol()
  : <a class="el" href="classUrl.html#a8">Url</a><li>GetQNameFromStr()
  : <a class="el" href="classXMLDeSerializer.html#a6">XMLDeSerializer</a><li>GetResource()
  : <a class="el" href="classUrl.html#a10">Url</a><li>GetResults()
  : <a class="el" href="classSOAPMsgContext.html#a5">SOAPMsgContext</a><li>GetReturnValue()
  : <a class="el" href="classRPCElement.html#a7">RPCElement</a><li>GetSerializerFactory()
  : <a class="el" href="classTypeMappingRegistry.html#a3">TypeMappingRegistry</a><li>GetSOAPBodyElement()
  : <a class="el" href="classSOAPMessage.html#a4">SOAPMessage</a>, <a class="el" href="classSOAPEnvelope.html#a8">SOAPEnvelope</a><li>GetSOAPEnvelop()
  : <a class="el" href="classSOAPMessage.html#a6">SOAPMessage</a><li>GetSOAPHeader()
  : <a class="el" href="classSOAPMessage.html#a5">SOAPMessage</a><li>GetStatus()
  : <a class="el" href="classTransport.html#a3">Transport</a>, <a class="el" href="classHttpTransport.html#a4">HttpTransport</a><li>GetTransport()
  : <a class="el" href="classTransportFactory.html#d0">TransportFactory</a><li>GetType()
  : <a class="el" href="classax_1_1XMLType.html#d0">ax::XMLType</a><li>GetTypeMapper()
  : <a class="el" href="classXMLSerializer.html#a7">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#a8">XMLDeSerializer</a><li>GetValue()
  : <a class="el" href="classRPCParam.html#a6">RPCParam</a><li>getValue()
  : <a class="el" href="classAttList.html#a4">AttList</a></ul>
  <a name="index_h"><h3>- h -</h3></a>
  <ul>
  <li>Header_t
  : <a class="el" href="classHttpTransport.html#u0">HttpTransport</a><li>http
  : <a class="el" href="classUrl.html#s5s0">Url</a><li>HTTPBind()
  : <a class="el" href="classHttpTransport.html#c0">HttpTransport</a><li>https
  : <a class="el" href="classUrl.html#s5s1">Url</a><li>HttpTransport()
  : <a class="el" href="classHttpTransport.html#a1">HttpTransport</a><li>HTTPValidate()
  : <a class="el" href="classHttpTransport.html#c1">HttpTransport</a></ul>
  <a name="index_i"><h3>- i -</h3></a>
  <ul>
  <li>impl
  : <a class="el" href="classXMLSerializer.html#o6">XMLSerializer</a><li>IN_OUT_PARAM
  : <a class="el" href="classCall.html#s3s2">Call</a><li>IN_PARAM
  : <a class="el" href="classCall.html#s3s0">Call</a><li>Indx
  : <a class="el" href="classNsStack.html#o1">NsStack</a><li>Init()
  : <a class="el" href="classTransport.html#a2">Transport</a>, <a class="el" href="classHttpTransport.html#a3">HttpTransport</a>, <a class="el" href="classChannel.html#c0">Channel</a><li>Invoke()
  : <a class="el" href="classSOAPMsgContext.html#a4">SOAPMsgContext</a>, <a class="el" href="classCall.html#a5">Call</a></ul>
  <a name="index_m"><h3>- m -</h3></a>
  <ul>
  <li>m_AdditionalHeader
  : <a class="el" href="classHttpTransport.html#o4">HttpTransport</a><li>m_AttLst
  : <a class="el" href="classMessageElement.html#n4">MessageElement</a><li>m_Attribs
  : <a class="el" href="classAttList.html#o0">AttList</a><li>m_bRecv
  : <a class="el" href="classSOAPMsgContext.html#o5">SOAPMsgContext</a><li>m_bStartDoc
  : <a class="el" href="classXMLSerializer.html#o1">XMLSerializer</a><li>m_bStatus
  : <a class="el" href="classTransport.html#n3">Transport</a><li>m_Channel
  : <a class="el" href="classTransport.html#n2">Transport</a><li>m_ChildElm
  : <a class="el" href="classXMLSerializer.html#o10">XMLSerializer</a><li>m_CurElm
  : <a class="el" href="classXMLSerializer.html#o9">XMLSerializer</a><li>m_CurNode
  : <a class="el" href="classXMLSerializer.html#o8">XMLSerializer</a><li>m_CurTxtElm
  : <a class="el" href="classXMLSerializer.html#o11">XMLSerializer</a><li>m_Doc
  : <a class="el" href="classXMLSerializer.html#o7">XMLSerializer</a><li>m_EncStyle
  : <a class="el" href="classCall.html#o4">Call</a><li>m_envMsg
  : <a class="el" href="classSOAPMessage.html#o1">SOAPMessage</a><li>m_Error
  : <a class="el" href="classAxisException.html#n0">AxisException</a>, <a class="el" href="classChannelException.html#o0">ChannelException</a><li>m_Host
  : <a class="el" href="classUrl.html#o1">Url</a><li>m_InMsg
  : <a class="el" href="classHttpTransport.html#o2">HttpTransport</a><li>m_LastErr
  : <a class="el" href="classChannel.html#o3">Channel</a><li>m_Lvl
  : <a class="el" href="classAxisException.html#n1">AxisException</a><li>m_MapRegistry
  : <a class="el" href="classTypeMappingRegistry.html#o0">TypeMappingRegistry</a><li>m_Msg
  : <a class="el" href="classSOAPMessage.html#o0">SOAPMessage</a>, <a class="el" href="classMessageElement.html#n6">MessageElement</a><li>m_Name
  : <a class="el" href="classRPCParam.html#o1">RPCParam</a>, <a class="el" href="classMessageElement.html#n0">MessageElement</a>, <a class="el" href="classParam.html#m2">Param</a><li>m_nIndent
  : <a class="el" href="classXMLSerializer.html#o2">XMLSerializer</a><li>m_nsStk
  : <a class="el" href="classXMLSerializer.html#o0">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#o0">XMLDeSerializer</a><li>m_NsURI
  : <a class="el" href="classRPCParam.html#o0">RPCParam</a>, <a class="el" href="classMessageElement.html#n2">MessageElement</a><li>m_OutMsg
  : <a class="el" href="classHttpTransport.html#o1">HttpTransport</a><li>m_Password
  : <a class="el" href="classUrl.html#o5">Url</a><li>m_Path
  : <a class="el" href="classUrl.html#o3">Url</a><li>m_PayLoad
  : <a class="el" href="classHttpTransport.html#o3">HttpTransport</a><li>m_pBody
  : <a class="el" href="classSOAPBodyElement.html#o0">SOAPBodyElement</a><li>m_pClientCtx
  : <a class="el" href="classCall.html#o5">Call</a><li>m_pCurNode
  : <a class="el" href="classXMLDeSerializer.html#o1">XMLDeSerializer</a><li>m_pElmNode
  : <a class="el" href="classMessageElement.html#n3">MessageElement</a><li>m_pFault
  : <a class="el" href="classSOAPBodyElement.html#o1">SOAPBodyElement</a><li>m_Port
  : <a class="el" href="classUrl.html#o2">Url</a><li>m_pParams
  : <a class="el" href="classRPCElement.html#o0">RPCElement</a><li>m_Prefix
  : <a class="el" href="classRPCElement.html#o3">RPCElement</a><li>m_PrefixIndx
  : <a class="el" href="classXMLSerializer.html#o3">XMLSerializer</a><li>m_pRepMsg
  : <a class="el" href="classSOAPMsgContext.html#o1">SOAPMsgContext</a><li>m_pReqMsg
  : <a class="el" href="classSOAPMsgContext.html#o0">SOAPMsgContext</a><li>m_Protocol
  : <a class="el" href="classUrl.html#o0">Url</a><li>m_pTransportChannel
  : <a class="el" href="classSOAPMsgContext.html#o4">SOAPMsgContext</a><li>m_pTransportHandler
  : <a class="el" href="classChannel.html#o4">Channel</a><li>m_pTrChannel
  : <a class="el" href="classSender.html#o0">Sender</a>, <a class="el" href="classReceiver.html#o1">Receiver</a><li>m_pType
  : <a class="el" href="classParam.html#m1">Param</a><li>m_pTypeMapper
  : <a class="el" href="classXMLSerializer.html#o5">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#o4">XMLDeSerializer</a><li>m_pTypeMpRegistry
  : <a class="el" href="classSOAPMsgContext.html#o2">SOAPMsgContext</a><li>m_pValue
  : <a class="el" href="classRPCParam.html#o4">RPCParam</a>, <a class="el" href="classParam.html#m0">Param</a><li>m_qName
  : <a class="el" href="classMessageElement.html#n5">MessageElement</a><li>m_Query
  : <a class="el" href="classUrl.html#o4">Url</a><li>m_RecvPort
  : <a class="el" href="classReceiver.html#o2">Receiver</a><li>m_RemoteEnd
  : <a class="el" href="classChannel.html#o2">Channel</a><li>m_RemoteNode
  : <a class="el" href="classChannel.html#o1">Channel</a><li>m_Result
  : <a class="el" href="classRPCElement.html#o2">RPCElement</a><li>m_ServerURL
  : <a class="el" href="classCall.html#o3">Call</a><li>m_ServiceUrl
  : <a class="el" href="classSOAPMsgContext.html#o3">SOAPMsgContext</a><li>m_SOAPBody
  : <a class="el" href="classSOAPEnvelope.html#o0">SOAPEnvelope</a><li>m_SOAPBodyItr
  : <a class="el" href="classSOAPEnvelope.html#o2">SOAPEnvelope</a><li>m_SOAPHdItr
  : <a class="el" href="classSOAPEnvelope.html#o3">SOAPEnvelope</a><li>m_SOAPHeader
  : <a class="el" href="classSOAPEnvelope.html#o1">SOAPEnvelope</a><li>m_Sock
  : <a class="el" href="classChannel.html#o0">Channel</a><li>m_strFault
  : <a class="el" href="classSOAPFaultElement.html#o0">SOAPFaultElement</a><li>m_strLocalPart
  : <a class="el" href="classax_1_1QName.html#o1">ax::QName</a><li>m_strMethodNsURI
  : <a class="el" href="classCall.html#o2">Call</a><li>m_strNsURI
  : <a class="el" href="classax_1_1QName.html#o0">ax::QName</a><li>m_strOpName
  : <a class="el" href="classCall.html#o1">Call</a><li>m_strType
  : <a class="el" href="classRPCParam.html#o3">RPCParam</a><li>m_strUrl
  : <a class="el" href="classTransport.html#n1">Transport</a><li>m_Typ
  : <a class="el" href="classHttpTransport.html#o0">HttpTransport</a><li>m_Type
  : <a class="el" href="classRPCParam.html#o5">RPCParam</a><li>m_URL
  : <a class="el" href="classUrl.html#o7">Url</a><li>m_Url
  : <a class="el" href="classTransport.html#n0">Transport</a><li>m_User
  : <a class="el" href="classUrl.html#o6">Url</a><li>m_Value
  : <a class="el" href="classRPCParam.html#o2">RPCParam</a><li>m_vArgs
  : <a class="el" href="classCall.html#o0">Call</a><li>m_xmlBuf
  : <a class="el" href="classSOAPEnvelopFormatter.html#o0">SOAPEnvelopFormatter</a><li>m_xmlBuffer
  : <a class="el" href="classXMLSerializer.html#o4">XMLSerializer</a><li>MessageElement()
  : <a class="el" href="classMessageElement.html#a2">MessageElement</a><li>Mode
  : <a class="el" href="classCall.html#s3">Call</a><li>MPOST
  : <a class="el" href="classHttpTransport.html#s2s1">HttpTransport</a></ul>
  <a name="index_n"><h3>- n -</h3></a>
  <ul>
  <li>Ns
  : <a class="el" href="classNsStack.html#o0">NsStack</a><li>NsStack()
  : <a class="el" href="classNsStack.html#a0">NsStack</a></ul>
  <a name="index_o"><h3>- o -</h3></a>
  <ul>
  <li>Open()
  : <a class="el" href="classChannel.html#a2">Channel</a><li>operator&lt;
  : <a class="el" href="classax_1_1QName.html#l0">ax::QName</a><li>operator&lt;&lt;()
  : <a class="el" href="classXMLSerializer.html#l2">XMLSerializer</a>, <a class="el" href="classTransport.html#a6">Transport</a>, <a class="el" href="classHttpTransport.html#a7">HttpTransport</a>, <a class="el" href="classChannel.html#a5">Channel</a><li>operator=()
  : <a class="el" href="classSOAPEnvelopFormatter.html#c1">SOAPEnvelopFormatter</a><li>operator==()
  : <a class="el" href="classax_1_1QName.html#a10">ax::QName</a><li>operator&gt;&gt;()
  : <a class="el" href="classTransport.html#a5">Transport</a>, <a class="el" href="classHttpTransport.html#a6">HttpTransport</a>, <a class="el" href="classChannel.html#a4">Channel</a><li>OUT_PARAM
  : <a class="el" href="classCall.html#s3s1">Call</a></ul>
  <a name="index_p"><h3>- p -</h3></a>
  <ul>
  <li>Param()
  : <a class="el" href="classParam.html#a0">Param</a><li>paramItr
  : <a class="el" href="classRPCElement.html#o1">RPCElement</a><li>parser
  : <a class="el" href="classXMLDeSerializer.html#o2">XMLDeSerializer</a><li>ParseURL()
  : <a class="el" href="classUrl.html#c0">Url</a><li>Peek()
  : <a class="el" href="classNsStack.html#a3">NsStack</a><li>Pop()
  : <a class="el" href="classNsStack.html#a4">NsStack</a><li>POST
  : <a class="el" href="classHttpTransport.html#s2s0">HttpTransport</a><li>prefix
  : <a class="el" href="classMessageElement.html#n1">MessageElement</a><li>Protocol
  : <a class="el" href="classUrl.html#s5">Url</a><li>Push()
  : <a class="el" href="classNsStack.html#a2">NsStack</a></ul>
  <a name="index_q"><h3>- q -</h3></a>
  <ul>
  <li>QName()
  : <a class="el" href="classax_1_1QName.html#a4">ax::QName</a><li>QNameToStr()
  : <a class="el" href="classXMLSerializer.html#a5">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#a5">XMLDeSerializer</a></ul>
  <a name="index_r"><h3>- r -</h3></a>
  <ul>
  <li>Receiver()
  : <a class="el" href="classReceiver.html#a0">Receiver</a><li>Recv()
  : <a class="el" href="classReceiver.html#a2">Receiver</a><li>RegisterPrefixes()
  : <a class="el" href="classSOAPEnvelope.html#a11">SOAPEnvelope</a><li>RegisterPrefixForURI()
  : <a class="el" href="classXMLSerializer.html#a2">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#a4">XMLDeSerializer</a><li>RegisterTypeMapping()
  : <a class="el" href="classSOAPMsgContext.html#a2">SOAPMsgContext</a><li>repMsg
  : <a class="el" href="classReceiver.html#o0">Receiver</a><li>resetErrors()
  : <a class="el" href="classParseErrorHandler.html#a3">ParseErrorHandler</a><li>RmSOAPBodyElement()
  : <a class="el" href="classSOAPEnvelope.html#a5">SOAPEnvelope</a><li>RmSOAPHeader()
  : <a class="el" href="classSOAPEnvelope.html#a6">SOAPEnvelope</a><li>RPCElement()
  : <a class="el" href="classRPCElement.html#a2">RPCElement</a><li>RPCParam()
  : <a class="el" href="classRPCParam.html#a3">RPCParam</a></ul>
  <a name="index_s"><h3>- s -</h3></a>
  <ul>
  <li>Send()
  : <a class="el" href="classSender.html#a2">Sender</a><li>Sender()
  : <a class="el" href="classSender.html#a0">Sender</a><li>Serialize()
  : <a class="el" href="classXMLSerializer.html#a12">XMLSerializer</a>, <a class="el" href="classSOAPMessage.html#a12">SOAPMessage</a>, <a class="el" href="classSOAPHeader.html#a3">SOAPHeader</a>, <a class="el" href="classSOAPFaultElement.html#a4">SOAPFaultElement</a>, <a class="el" href="classSOAPEnvelope.html#a9">SOAPEnvelope</a>, <a class="el" href="classSOAPBodyElement.html#a6">SOAPBodyElement</a>, <a class="el" href="classRPCParam.html#a7">RPCParam</a>, <a class="el" href="classRPCElement.html#a5">RPCElement</a>, <a class="el" href="classMessageElement.html#a5">MessageElement</a>, <a class="el" href="classSOAPEncoding.html#a2">SOAPEncoding</a>, <a class="el" href="classSerializerFactory.html#a2">SerializerFactory</a><li>SerializerFactory()
  : <a class="el" href="classSerializerFactory.html#a0">SerializerFactory</a><li>ServiceFactory()
  : <a class="el" href="classServiceFactory.html#a0">ServiceFactory</a><li>SetContext()
  : <a class="el" href="classXMLDeSerializer.html#a3">XMLDeSerializer</a><li>SetElmQName()
  : <a class="el" href="classMessageElement.html#a7">MessageElement</a><li>SetEncodingStyle()
  : <a class="el" href="classCall.html#a10">Call</a><li>SetHostName()
  : <a class="el" href="classUrl.html#a5">Url</a><li>SetLocalPart()
  : <a class="el" href="classax_1_1QName.html#a7">ax::QName</a><li>SetMethodNamespaceURI()
  : <a class="el" href="classCall.html#a7">Call</a><li>SetMsg()
  : <a class="el" href="classSOAPMessage.html#a11">SOAPMessage</a><li>SetMsgElm()
  : <a class="el" href="classMessageElement.html#a6">MessageElement</a><li>SetNsURI()
  : <a class="el" href="classax_1_1QName.html#a6">ax::QName</a><li>SetOperationName()
  : <a class="el" href="classCall.html#a8">Call</a><li>SetPort()
  : <a class="el" href="classUrl.html#a7">Url</a><li>SetProperty()
  : <a class="el" href="classTransport.html#a4">Transport</a>, <a class="el" href="classHttpTransport.html#a5">HttpTransport</a><li>SetProtocol()
  : <a class="el" href="classUrl.html#a4">Url</a><li>SetResource()
  : <a class="el" href="classUrl.html#a6">Url</a><li>SetServiceURL()
  : <a class="el" href="classSOAPMsgContext.html#a3">SOAPMsgContext</a><li>SetSOAPBodyElement()
  : <a class="el" href="classSOAPMessage.html#a7">SOAPMessage</a><li>SetSOAPEnvelop()
  : <a class="el" href="classSOAPMessage.html#a9">SOAPMessage</a><li>SetSOAPHeader()
  : <a class="el" href="classSOAPMessage.html#a8">SOAPMessage</a><li>SetTargetEndpointAddress()
  : <a class="el" href="classCall.html#a6">Call</a><li>SetTransportHandler()
  : <a class="el" href="classChannel.html#a7">Channel</a><li>SetTypeMappingRegistry()
  : <a class="el" href="classXMLSerializer.html#a6">XMLSerializer</a>, <a class="el" href="classXMLDeSerializer.html#a7">XMLDeSerializer</a><li>SOAPBodyElement()
  : <a class="el" href="classSOAPBodyElement.html#a2">SOAPBodyElement</a><li>SOAPEncoding()
  : <a class="el" href="classSOAPEncoding.html#a0">SOAPEncoding</a><li>SOAPEnvelope()
  : <a class="el" href="classSOAPEnvelope.html#a1">SOAPEnvelope</a><li>SOAPEnvelopFormatter()
  : <a class="el" href="classSOAPEnvelopFormatter.html#c0">SOAPEnvelopFormatter</a><li>SOAPFaultElement()
  : <a class="el" href="classSOAPFaultElement.html#a1">SOAPFaultElement</a><li>SOAPHeader()
  : <a class="el" href="classSOAPHeader.html#a1">SOAPHeader</a><li>SOAPMessage()
  : <a class="el" href="classSOAPMessage.html#a2">SOAPMessage</a><li>SOAPMsgContext()
  : <a class="el" href="classSOAPMsgContext.html#a0">SOAPMsgContext</a><li>StartElem()
  : <a class="el" href="classXMLSerializer.html#a8">XMLSerializer</a></ul>
  <a name="index_t"><h3>- t -</h3></a>
  <ul>
  <li>tmp
  : <a class="el" href="classRPCParam.html#o6">RPCParam</a><li>toString()
  : <a class="el" href="classax_1_1QName.html#a11">ax::QName</a><li>Transport()
  : <a class="el" href="classTransport.html#a0">Transport</a><li>TransportFactory()
  : <a class="el" href="classTransportFactory.html#a0">TransportFactory</a><li>Type
  : <a class="el" href="classHttpTransport.html#s2">HttpTransport</a><li>TypeMap_t
  : <a class="el" href="classTypeMappingRegistry.html#u0">TypeMappingRegistry</a><li>TypeMappingRegistry()
  : <a class="el" href="classTypeMappingRegistry.html#a0">TypeMappingRegistry</a></ul>
  <a name="index_u"><h3>- u -</h3></a>
  <ul>
  <li>unknown
  : <a class="el" href="classUrl.html#s5s4">Url</a><li>Url()
  : <a class="el" href="classUrl.html#a1">Url</a></ul>
  <a name="index_w"><h3>- w -</h3></a>
  <ul>
  <li>warning()
  : <a class="el" href="classParseErrorHandler.html#a0">ParseErrorHandler</a><li>writeChars()
  : <a class="el" href="classSOAPEnvelopFormatter.html#a2">SOAPEnvelopFormatter</a><li>WriteStr()
  : <a class="el" href="classXMLSerializer.html#a10">XMLSerializer</a></ul>
  <a name="index_x"><h3>- x -</h3></a>
  <ul>
  <li>XMLDeSerializer()
  : <a class="el" href="classXMLDeSerializer.html#a0">XMLDeSerializer</a><li>XMLSerializer()
  : <a class="el" href="classXMLSerializer.html#a0">XMLSerializer</a><li>XMLType()
  : <a class="el" href="classax_1_1XMLType.html#a0">ax::XMLType</a></ul>
  <a name="index_~"><h3>- ~ -</h3></a>
  <ul>
  <li>~AxisException()
  : <a class="el" href="classAxisException.html#a2">AxisException</a><li>~AxisFault()
  : <a class="el" href="classAxisFault.html#a1">AxisFault</a><li>~Call()
  : <a class="el" href="classCall.html#a1">Call</a><li>~Channel()
  : <a class="el" href="classChannel.html#a1">Channel</a><li>~ChannelException()
  : <a class="el" href="classChannelException.html#a1">ChannelException</a><li>~HttpTransport()
  : <a class="el" href="classHttpTransport.html#a2">HttpTransport</a><li>~MessageElement()
  : <a class="el" href="classMessageElement.html#a3">MessageElement</a><li>~Param()
  : <a class="el" href="classParam.html#a1">Param</a><li>~QName()
  : <a class="el" href="classax_1_1QName.html#a5">ax::QName</a><li>~Receiver()
  : <a class="el" href="classReceiver.html#a1">Receiver</a><li>~RPCElement()
  : <a class="el" href="classRPCElement.html#a3">RPCElement</a><li>~RPCParam()
  : <a class="el" href="classRPCParam.html#a4">RPCParam</a><li>~Sender()
  : <a class="el" href="classSender.html#a1">Sender</a><li>~SerializerFactory()
  : <a class="el" href="classSerializerFactory.html#a1">SerializerFactory</a><li>~ServiceFactory()
  : <a class="el" href="classServiceFactory.html#a1">ServiceFactory</a><li>~SOAPBodyElement()
  : <a class="el" href="classSOAPBodyElement.html#a3">SOAPBodyElement</a><li>~SOAPEncoding()
  : <a class="el" href="classSOAPEncoding.html#a1">SOAPEncoding</a><li>~SOAPEnvelope()
  : <a class="el" href="classSOAPEnvelope.html#a2">SOAPEnvelope</a><li>~SOAPEnvelopFormatter()
  : <a class="el" href="classSOAPEnvelopFormatter.html#a1">SOAPEnvelopFormatter</a><li>~SOAPFaultElement()
  : <a class="el" href="classSOAPFaultElement.html#a2">SOAPFaultElement</a><li>~SOAPHeader()
  : <a class="el" href="classSOAPHeader.html#a2">SOAPHeader</a><li>~SOAPMessage()
  : <a class="el" href="classSOAPMessage.html#a3">SOAPMessage</a><li>~SOAPMsgContext()
  : <a class="el" href="classSOAPMsgContext.html#a1">SOAPMsgContext</a><li>~Transport()
  : <a class="el" href="classTransport.html#a1">Transport</a><li>~TransportFactory()
  : <a class="el" href="classTransportFactory.html#a1">TransportFactory</a><li>~TypeMappingRegistry()
  : <a class="el" href="classTypeMappingRegistry.html#a1">TypeMappingRegistry</a><li>~Url()
  : <a class="el" href="classUrl.html#a2">Url</a><li>~XMLDeSerializer()
  : <a class="el" href="classXMLDeSerializer.html#a1">XMLDeSerializer</a><li>~XMLSerializer()
  : <a class="el" href="classXMLSerializer.html#a1">XMLSerializer</a><li>~XMLType()
  : <a class="el" href="classax_1_1XMLType.html#a1">ax::XMLType</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/globals.html
  
  Index: globals.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>File Member Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library File Members</h1><center>
  <a href="#index__">_</a>&nbsp;|&nbsp;<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_x">x</a></center>
  
  <p>
  Here is a list of all file members with links to the files they belong to:<a name="index__"><h3>- _ -</h3></a>
  <ul>
  <li>_AXIS_ATTLIST_HPP
  : <a class="el" href="AttList_8hpp.html#a0">AttList.hpp</a><li>_AXIS_AXISEXCEPTION_HPP
  : <a class="el" href="AxisException_8hpp.html#a0">AxisException.hpp</a><li>_AXIS_CALL_HPP
  : <a class="el" href="Call_8hpp.html#a0">Call.hpp</a><li>_AXIS_CHANNEL_HPP
  : <a class="el" href="Channel_8hpp.html#a0">Channel.hpp</a><li>_AXIS_CONST_H
  : <a class="el" href="AxisConst_8hpp.html#a0">AxisConst.hpp</a><li>_AXIS_HTTPTRANSPORT_HPP
  : <a class="el" href="HttpTransport_8hpp.html#a0">HttpTransport.hpp</a><li>_AXIS_MESSAGEELEMENT_HPP
  : <a class="el" href="MessageElement_8hpp.html#a0">MessageElement.hpp</a><li>_AXIS_NSSTACK_HPP
  : <a class="el" href="NsStack_8hpp.html#a0">NsStack.hpp</a><li>_AXIS_PARAM_HPP
  : <a class="el" href="Param_8hpp.html#a0">Param.hpp</a><li>_AXIS_QNAME_HPP
  : <a class="el" href="QName_8hpp.html#a0">QName.hpp</a><li>_AXIS_RECEIVER_HPP
  : <a class="el" href="Receiver_8hpp.html#a0">Receiver.hpp</a><li>_AXIS_RPCELEMENT_HPP
  : <a class="el" href="RPCElement_8hpp.html#a0">RPCElement.hpp</a><li>_AXIS_RPCPARAM_HPP
  : <a class="el" href="RPCParam_8hpp.html#a0">RPCParam.hpp</a><li>_AXIS_SENDER_HPP
  : <a class="el" href="Sender_8hpp.html#a0">Sender.hpp</a><li>_AXIS_SERIALIZERFACTORY_HPP
  : <a class="el" href="SerializerFactory_8hpp.html#a0">SerializerFactory.hpp</a><li>_AXIS_SERVICEFACTORY_HPP
  : <a class="el" href="ServiceFactory_8hpp.html#a0">ServiceFactory.hpp</a><li>_AXIS_SOAPBODYELEMENT_HPP
  : <a class="el" href="SOAPBodyElement_8hpp.html#a0">SOAPBodyElement.hpp</a><li>_AXIS_SOAPENCODING_HPP
  : <a class="el" href="SOAPEncoding_8hpp.html#a0">SOAPEncoding.hpp</a><li>_AXIS_SOAPENVELOPE_HPP
  : <a class="el" href="SOAPEnvelope_8hpp.html#a0">SOAPEnvelope.hpp</a><li>_AXIS_SOAPFAULT_ELEMENT_HPP
  : <a class="el" href="SOAPFaultElement_8hpp.html#a0">SOAPFaultElement.hpp</a><li>_AXIS_SOAPHEADER_HPP
  : <a class="el" href="SOAPHeader_8hpp.html#a0">SOAPHeader.hpp</a><li>_AXIS_SOAPMSGCONTEXT_HPP
  : <a class="el" href="SOAPMsgContext_8hpp.html#a0">SOAPMsgContext.hpp</a><li>_AXIS_STDAFX_H
  : <a class="el" href="Platform_8hpp.html#a0">Platform.hpp</a><li>_AXIS_TRANSPORT_HPP
  : <a class="el" href="Transport_8hpp.html#a0">Transport.hpp</a><li>_AXIS_TRANSPORTFACTORY_HPP
  : <a class="el" href="TransportFactory_8hpp.html#a0">TransportFactory.hpp</a><li>_AXIS_TYPEMAPPINGREGISTRY_HPP
  : <a class="el" href="TypeMappingRegistry_8hpp.html#a0">TypeMappingRegistry.hpp</a><li>_AXIS_URL_HPP
  : <a class="el" href="Url_8hpp.html#a0">Url.hpp</a><li>_AXIS_XERCESCONST_H
  : <a class="el" href="XercescConst_8hpp.html#a0">XercescConst.hpp</a><li>_AXIS_XML_DESERIALIZER_H
  : <a class="el" href="XMLDeSerializer_8hpp.html#a0">XMLDeSerializer.hpp</a><li>_AXIS_XML_SERIALIZER_HPP
  : <a class="el" href="XMLSerializer_8hpp.html#a0">XMLSerializer.hpp</a><li>_AXIS_XML_WRITER_HPP
  : <a class="el" href="XmlWriter_8hpp.html#a0">XmlWriter.hpp</a><li>_AXIS_XMLTYPE_HPP
  : <a class="el" href="XMLType_8hpp.html#a0">XMLType.hpp</a><li>_SOAPMESSAGE_HPP
  : <a class="el" href="SOAPMessage_8hpp.html#a0">SOAPMessage.hpp</a></ul>
  <a name="index_a"><h3>- a -</h3></a>
  <ul>
  <li>AXIS_API
  : <a class="el" href="Platform_8hpp.html#a1">Platform.hpp</a></ul>
  <a name="index_e"><h3>- e -</h3></a>
  <ul>
  <li>Encoding_Name
  : <a class="el" href="XMLSerializer_8cpp.html#a1">XMLSerializer.cpp</a></ul>
  <a name="index_f"><h3>- f -</h3></a>
  <ul>
  <li>FTP_PORT
  : <a class="el" href="Url_8hpp.html#a3">Url.hpp</a></ul>
  <a name="index_h"><h3>- h -</h3></a>
  <ul>
  <li>HTTP_PORT
  : <a class="el" href="Url_8hpp.html#a1">Url.hpp</a><li>HTTPS_PORT
  : <a class="el" href="Url_8hpp.html#a2">Url.hpp</a></ul>
  <a name="index_m"><h3>- m -</h3></a>
  <ul>
  <li>m_nBufSize
  : <a class="el" href="XmlWriter_8hpp.html#a1">XmlWriter.hpp</a></ul>
  <a name="index_n"><h3>- n -</h3></a>
  <ul>
  <li>NsMap_t
  : <a class="el" href="NsStack_8hpp.html#a1">NsStack.hpp</a></ul>
  <a name="index_o"><h3>- o -</h3></a>
  <ul>
  <li>operator&lt;&lt;()
  : <a class="el" href="XMLSerializer_8cpp.html#a5">XMLSerializer.cpp</a></ul>
  <a name="index_s"><h3>- s -</h3></a>
  <ul>
  <li>SOAPEncoding&lt; std::string &gt;::Deserialize()
  : <a class="el" href="SOAPEncoding_8cpp.html#a1">SOAPEncoding.cpp</a><li>SOAPEncoding&lt; std::string &gt;::Serialize()
  : <a class="el" href="SOAPEncoding_8cpp.html#a0">SOAPEncoding.cpp</a></ul>
  <a name="index_x"><h3>- x -</h3></a>
  <ul>
  <li>Xml_Formatter
  : <a class="el" href="XMLSerializer_8cpp.html#a0">XMLSerializer.cpp</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/hierarchy.html
  
  Index: hierarchy.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Hierarchical Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
  <li><a class="el" href="classAttList.html">AttList</a>
  <li><a class="el" href="classAxisException.html">AxisException</a>
  <ul>
  <li><a class="el" href="classAxisFault.html">AxisFault</a>
  </ul>
  <li><a class="el" href="classCall.html">Call</a>
  <li><a class="el" href="classChannel.html">Channel</a>
  <li><a class="el" href="classChannelException.html">ChannelException</a>
  <li><a class="el" href="classErrorHandler.html">ErrorHandler</a>
  <ul>
  <li><a class="el" href="classParseErrorHandler.html">ParseErrorHandler</a>
  </ul>
  <li><a class="el" href="classMessageElement.html">MessageElement</a>
  <ul>
  <li><a class="el" href="classRPCElement.html">RPCElement</a>
  <li><a class="el" href="classSOAPBodyElement.html">SOAPBodyElement</a>
  <li><a class="el" href="classSOAPEnvelope.html">SOAPEnvelope</a>
  <li><a class="el" href="classSOAPFaultElement.html">SOAPFaultElement</a>
  <li><a class="el" href="classSOAPHeader.html">SOAPHeader</a>
  </ul>
  <li><a class="el" href="classNsMap__t.html">NsMap_t</a>
  <ul>
  <li><a class="el" href="classNsMap.html">NsMap</a>
  </ul>
  <li><a class="el" href="classNsStack.html">NsStack</a>
  <li><a class="el" href="classstd_1_1ostringstream.html">std::ostringstream</a>
  <ul>
  <li><a class="el" href="classXmlWriter.html">XmlWriter</a>
  </ul>
  <li><a class="el" href="classParam.html">Param</a>
  <li><a class="el" href="classax_1_1QName.html">ax::QName</a>
  <li><a class="el" href="classReceiver.html">Receiver</a>
  <li><a class="el" href="classRPCParam.html">RPCParam</a>
  <li><a class="el" href="classSender.html">Sender</a>
  <li><a class="el" href="classSerializerFactory.html">SerializerFactory</a>
  <ul>
  <li><a class="el" href="classSOAPEncoding.html">SOAPEncoding</a>
  </ul>
  <li><a class="el" href="classServiceFactory.html">ServiceFactory</a>
  <li><a class="el" href="classSOAPMessage.html">SOAPMessage</a>
  <li><a class="el" href="classSOAPMsgContext.html">SOAPMsgContext</a>
  <li><a class="el" href="classTransport.html">Transport</a>
  <ul>
  <li><a class="el" href="classHttpTransport.html">HttpTransport</a>
  </ul>
  <li><a class="el" href="classTransportFactory.html">TransportFactory</a>
  <li><a class="el" href="classTypeMappingRegistry.html">TypeMappingRegistry</a>
  <li><a class="el" href="classUrl.html">Url</a>
  <li><a class="el" href="classXMLDeSerializer.html">XMLDeSerializer</a>
  <li><a class="el" href="classXMLFormatTarget.html">XMLFormatTarget</a>
  <ul>
  <li><a class="el" href="classSOAPEnvelopFormatter.html">SOAPEnvelopFormatter</a>
  </ul>
  <li><a class="el" href="classXMLSerializer.html">XMLSerializer</a>
  <li><a class="el" href="classax_1_1XMLType.html">ax::XMLType</a>
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhc
  
  Index: index.hhc
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  <HTML><HEAD></HEAD><BODY>
  <OBJECT type="text/site properties">
  <param name="FrameName" value="right">
  </OBJECT>
  <UL>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Main Page"><param name="Local" value="main.html"><param name="ImageNumber" value="11"></OBJECT>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="File List"><param name="Local" value="files.html"><param name="ImageNumber" value="1"></OBJECT>
    <UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AttList.hpp"><param name="Local" value="AttList_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisConst.hpp"><param name="Local" value="AxisConst_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisException.cpp"><param name="Local" value="AxisException_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisException.hpp"><param name="Local" value="AxisException_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Call.cpp"><param name="Local" value="Call_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Call.hpp"><param name="Local" value="Call_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Channel.cpp"><param name="Local" value="Channel_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Channel.hpp"><param name="Local" value="Channel_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="HttpTransport.cpp"><param name="Local" value="HttpTransport_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="HttpTransport.hpp"><param name="Local" value="HttpTransport_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="MessageElement.cpp"><param name="Local" value="MessageElement_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="MessageElement.hpp"><param name="Local" value="MessageElement_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsStack.cpp"><param name="Local" value="NsStack_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsStack.hpp"><param name="Local" value="NsStack_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Param.cpp"><param name="Local" value="Param_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Param.hpp"><param name="Local" value="Param_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Platform.cpp"><param name="Local" value="Platform_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Platform.hpp"><param name="Local" value="Platform_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="QName.cpp"><param name="Local" value="QName_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="QName.hpp"><param name="Local" value="QName_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Receiver.cpp"><param name="Local" value="Receiver_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Receiver.hpp"><param name="Local" value="Receiver_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCElement.cpp"><param name="Local" value="RPCElement_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCElement.hpp"><param name="Local" value="RPCElement_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCParam.cpp"><param name="Local" value="RPCParam_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCParam.hpp"><param name="Local" value="RPCParam_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Sender.cpp"><param name="Local" value="Sender_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Sender.hpp"><param name="Local" value="Sender_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SerializerFactory.hpp"><param name="Local" value="SerializerFactory_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ServiceFactory.cpp"><param name="Local" value="ServiceFactory_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ServiceFactory.hpp"><param name="Local" value="ServiceFactory_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPBodyElement.cpp"><param name="Local" value="SOAPBodyElement_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPBodyElement.hpp"><param name="Local" value="SOAPBodyElement_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEncoding.cpp"><param name="Local" value="SOAPEncoding_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEncoding.hpp"><param name="Local" value="SOAPEncoding_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelope.cpp"><param name="Local" value="SOAPEnvelope_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelope.hpp"><param name="Local" value="SOAPEnvelope_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPFaultElement.cpp"><param name="Local" value="SOAPFaultElement_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPFaultElement.hpp"><param name="Local" value="SOAPFaultElement_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPHeader.cpp"><param name="Local" value="SOAPHeader_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPHeader.hpp"><param name="Local" value="SOAPHeader_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMessage.cpp"><param name="Local" value="SOAPMessage_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMessage.hpp"><param name="Local" value="SOAPMessage_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMsgContext.cpp"><param name="Local" value="SOAPMsgContext_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMsgContext.hpp"><param name="Local" value="SOAPMsgContext_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Transport.cpp"><param name="Local" value="Transport_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Transport.hpp"><param name="Local" value="Transport_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TransportFactory.cpp"><param name="Local" value="TransportFactory_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TransportFactory.hpp"><param name="Local" value="TransportFactory_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TypeMappingRegistry.cpp"><param name="Local" value="TypeMappingRegistry_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TypeMappingRegistry.hpp"><param name="Local" value="TypeMappingRegistry_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Url.cpp"><param name="Local" value="Url_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Url.hpp"><param name="Local" value="Url_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XercescConst.hpp"><param name="Local" value="XercescConst_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLDeSerializer.cpp"><param name="Local" value="XMLDeSerializer_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLDeSerializer.hpp"><param name="Local" value="XMLDeSerializer_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLSerializer.cpp"><param name="Local" value="XMLSerializer_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLSerializer.hpp"><param name="Local" value="XMLSerializer_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLType.cpp"><param name="Local" value="XMLType_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLType.hpp"><param name="Local" value="XMLType_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XmlWriter.hpp"><param name="Local" value="XmlWriter_8hpp.html"><param name="ImageNumber" value="11"></OBJECT>
    </UL>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Compound List"><param name="Local" value="annotated.html"><param name="ImageNumber" value="1"></OBJECT>
    <UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AttList"><param name="Local" value="classAttList.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisException"><param name="Local" value="classAxisException.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisFault"><param name="Local" value="classAxisFault.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Call"><param name="Local" value="classCall.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Channel"><param name="Local" value="classChannel.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ChannelException"><param name="Local" value="classChannelException.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ErrorHandler"><param name="Local" value="classErrorHandler.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="HttpTransport"><param name="Local" value="classHttpTransport.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="MessageElement"><param name="Local" value="classMessageElement.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsMap"><param name="Local" value="classNsMap.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsMap_t"><param name="Local" value="classNsMap__t.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsStack"><param name="Local" value="classNsStack.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="std::ostringstream"><param name="Local" value="classstd_1_1ostringstream.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Param"><param name="Local" value="classParam.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ParseErrorHandler"><param name="Local" value="classParseErrorHandler.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ax::QName"><param name="Local" value="classax_1_1QName.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Receiver"><param name="Local" value="classReceiver.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCElement"><param name="Local" value="classRPCElement.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCParam"><param name="Local" value="classRPCParam.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Sender"><param name="Local" value="classSender.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SerializerFactory"><param name="Local" value="classSerializerFactory.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ServiceFactory"><param name="Local" value="classServiceFactory.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPBodyElement"><param name="Local" value="classSOAPBodyElement.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEncoding"><param name="Local" value="classSOAPEncoding.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelope"><param name="Local" value="classSOAPEnvelope.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelopFormatter"><param name="Local" value="classSOAPEnvelopFormatter.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPFaultElement"><param name="Local" value="classSOAPFaultElement.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPHeader"><param name="Local" value="classSOAPHeader.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMessage"><param name="Local" value="classSOAPMessage.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMsgContext"><param name="Local" value="classSOAPMsgContext.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Transport"><param name="Local" value="classTransport.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TransportFactory"><param name="Local" value="classTransportFactory.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TypeMappingRegistry"><param name="Local" value="classTypeMappingRegistry.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Url"><param name="Local" value="classUrl.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLDeSerializer"><param name="Local" value="classXMLDeSerializer.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLFormatTarget"><param name="Local" value="classXMLFormatTarget.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLSerializer"><param name="Local" value="classXMLSerializer.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ax::XMLType"><param name="Local" value="classax_1_1XMLType.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XmlWriter"><param name="Local" value="classXmlWriter.html"><param name="ImageNumber" value="11"></OBJECT>
    </UL>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Class Hierarchy"><param name="Local" value="hierarchy.html"><param name="ImageNumber" value="1"></OBJECT>
    <UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AttList"><param name="Local" value="classAttList.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisException"><param name="Local" value="classAxisException.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="AxisFault"><param name="Local" value="classAxisFault.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Call"><param name="Local" value="classCall.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Channel"><param name="Local" value="classChannel.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ChannelException"><param name="Local" value="classChannelException.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ErrorHandler"><param name="Local" value="classErrorHandler.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="ParseErrorHandler"><param name="Local" value="classParseErrorHandler.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="MessageElement"><param name="Local" value="classMessageElement.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCElement"><param name="Local" value="classRPCElement.html"><param name="ImageNumber" value="11"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPBodyElement"><param name="Local" value="classSOAPBodyElement.html"><param name="ImageNumber" value="11"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelope"><param name="Local" value="classSOAPEnvelope.html"><param name="ImageNumber" value="11"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPFaultElement"><param name="Local" value="classSOAPFaultElement.html"><param name="ImageNumber" value="11"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPHeader"><param name="Local" value="classSOAPHeader.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsMap_t"><param name="Local" value="classNsMap__t.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="NsMap"><param name="Local" value="classNsMap.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="NsStack"><param name="Local" value="classNsStack.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="std::ostringstream"><param name="Local" value="classstd_1_1ostringstream.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="XmlWriter"><param name="Local" value="classXmlWriter.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Param"><param name="Local" value="classParam.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ax::QName"><param name="Local" value="classax_1_1QName.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Receiver"><param name="Local" value="classReceiver.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="RPCParam"><param name="Local" value="classRPCParam.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Sender"><param name="Local" value="classSender.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SerializerFactory"><param name="Local" value="classSerializerFactory.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEncoding"><param name="Local" value="classSOAPEncoding.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ServiceFactory"><param name="Local" value="classServiceFactory.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMessage"><param name="Local" value="classSOAPMessage.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPMsgContext"><param name="Local" value="classSOAPMsgContext.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Transport"><param name="Local" value="classTransport.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="HttpTransport"><param name="Local" value="classHttpTransport.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TransportFactory"><param name="Local" value="classTransportFactory.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="TypeMappingRegistry"><param name="Local" value="classTypeMappingRegistry.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Url"><param name="Local" value="classUrl.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLDeSerializer"><param name="Local" value="classXMLDeSerializer.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLFormatTarget"><param name="Local" value="classXMLFormatTarget.html"><param name="ImageNumber" value="1"></OBJECT>
      <UL>
      <LI><OBJECT type="text/sitemap"><param name="Name" value="SOAPEnvelopFormatter"><param name="Local" value="classSOAPEnvelopFormatter.html"><param name="ImageNumber" value="11"></OBJECT>
      </UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="XMLSerializer"><param name="Local" value="classXMLSerializer.html"><param name="ImageNumber" value="11"></OBJECT>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ax::XMLType"><param name="Local" value="classax_1_1XMLType.html"><param name="ImageNumber" value="11"></OBJECT>
    </UL>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Compound Members"><param name="Local" value="functions.html"><param name="ImageNumber" value="11"></OBJECT>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Namespace List"><param name="Local" value="namespaces.html"><param name="ImageNumber" value="1"></OBJECT>
    <UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="ax"><param name="Local" value="namespace__ax.html"><param name="ImageNumber" value="11"></OBJECT>
    </UL>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="File Members"><param name="Local" value="globals.html"><param name="ImageNumber" value="11"></OBJECT>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Namespace Members"><param name="Local" value="namespacemembers.html"><param name="ImageNumber" value="11"></OBJECT>
  <LI><OBJECT type="text/sitemap"><param name="Name" value="Related Pages"><param name="Local" value="pages.html"><param name="ImageNumber" value="1"></OBJECT>
    <UL>
    <LI><OBJECT type="text/sitemap"><param name="Name" value="Todo List"><param name="Local" value="todo.html"><param name="ImageNumber" value="11"></OBJECT>
    </UL>
  </UL>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhk
  
  Index: index.hhk
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  <HTML><HEAD></HEAD><BODY>
  <OBJECT type="text/site properties">
  <param name="FrameName" value="right">
  </OBJECT>
  <UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_ATTLIST_HPP"><param name="Name" value="_AXIS_ATTLIST_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AttList_8hpp.html#a0"><param name="Name" value="AttList.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_AXISEXCEPTION_HPP"><param name="Name" value="_AXIS_AXISEXCEPTION_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisException_8hpp.html#a0"><param name="Name" value="AxisException.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_CALL_HPP"><param name="Name" value="_AXIS_CALL_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Call_8hpp.html#a0"><param name="Name" value="Call.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_CHANNEL_HPP"><param name="Name" value="_AXIS_CHANNEL_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Channel_8hpp.html#a0"><param name="Name" value="Channel.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_CONST_H"><param name="Name" value="_AXIS_CONST_H"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisConst_8hpp.html#a0"><param name="Name" value="AxisConst.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_HTTPTRANSPORT_HPP"><param name="Name" value="_AXIS_HTTPTRANSPORT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="HttpTransport_8hpp.html#a0"><param name="Name" value="HttpTransport.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_MESSAGEELEMENT_HPP"><param name="Name" value="_AXIS_MESSAGEELEMENT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="MessageElement_8hpp.html#a0"><param name="Name" value="MessageElement.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_NSSTACK_HPP"><param name="Name" value="_AXIS_NSSTACK_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="NsStack_8hpp.html#a0"><param name="Name" value="NsStack.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_PARAM_HPP"><param name="Name" value="_AXIS_PARAM_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Param_8hpp.html#a0"><param name="Name" value="Param.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_QNAME_HPP"><param name="Name" value="_AXIS_QNAME_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="QName_8hpp.html#a0"><param name="Name" value="QName.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_RECEIVER_HPP"><param name="Name" value="_AXIS_RECEIVER_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Receiver_8hpp.html#a0"><param name="Name" value="Receiver.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_RPCELEMENT_HPP"><param name="Name" value="_AXIS_RPCELEMENT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCElement_8hpp.html#a0"><param name="Name" value="RPCElement.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_RPCPARAM_HPP"><param name="Name" value="_AXIS_RPCPARAM_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCParam_8hpp.html#a0"><param name="Name" value="RPCParam.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SENDER_HPP"><param name="Name" value="_AXIS_SENDER_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Sender_8hpp.html#a0"><param name="Name" value="Sender.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SERIALIZERFACTORY_HPP"><param name="Name" value="_AXIS_SERIALIZERFACTORY_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SerializerFactory_8hpp.html#a0"><param name="Name" value="SerializerFactory.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SERVICEFACTORY_HPP"><param name="Name" value="_AXIS_SERVICEFACTORY_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="ServiceFactory_8hpp.html#a0"><param name="Name" value="ServiceFactory.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPBODYELEMENT_HPP"><param name="Name" value="_AXIS_SOAPBODYELEMENT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPBodyElement_8hpp.html#a0"><param name="Name" value="SOAPBodyElement.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPENCODING_HPP"><param name="Name" value="_AXIS_SOAPENCODING_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8hpp.html#a0"><param name="Name" value="SOAPEncoding.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPENVELOPE_HPP"><param name="Name" value="_AXIS_SOAPENVELOPE_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEnvelope_8hpp.html#a0"><param name="Name" value="SOAPEnvelope.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPFAULT_ELEMENT_HPP"><param name="Name" value="_AXIS_SOAPFAULT_ELEMENT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPFaultElement_8hpp.html#a0"><param name="Name" value="SOAPFaultElement.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPHEADER_HPP"><param name="Name" value="_AXIS_SOAPHEADER_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPHeader_8hpp.html#a0"><param name="Name" value="SOAPHeader.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_SOAPMSGCONTEXT_HPP"><param name="Name" value="_AXIS_SOAPMSGCONTEXT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMsgContext_8hpp.html#a0"><param name="Name" value="SOAPMsgContext.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_STDAFX_H"><param name="Name" value="_AXIS_STDAFX_H"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Platform_8hpp.html#a0"><param name="Name" value="Platform.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_TRANSPORT_HPP"><param name="Name" value="_AXIS_TRANSPORT_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Transport_8hpp.html#a0"><param name="Name" value="Transport.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_TRANSPORTFACTORY_HPP"><param name="Name" value="_AXIS_TRANSPORTFACTORY_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="TransportFactory_8hpp.html#a0"><param name="Name" value="TransportFactory.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_TYPEMAPPINGREGISTRY_HPP"><param name="Name" value="_AXIS_TYPEMAPPINGREGISTRY_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="TypeMappingRegistry_8hpp.html#a0"><param name="Name" value="TypeMappingRegistry.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_URL_HPP"><param name="Name" value="_AXIS_URL_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a0"><param name="Name" value="Url.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_XERCESCONST_H"><param name="Name" value="_AXIS_XERCESCONST_H"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XercescConst_8hpp.html#a0"><param name="Name" value="XercescConst.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_XML_DESERIALIZER_H"><param name="Name" value="_AXIS_XML_DESERIALIZER_H"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLDeSerializer_8hpp.html#a0"><param name="Name" value="XMLDeSerializer.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_XML_SERIALIZER_HPP"><param name="Name" value="_AXIS_XML_SERIALIZER_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8hpp.html#a0"><param name="Name" value="XMLSerializer.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_XML_WRITER_HPP"><param name="Name" value="_AXIS_XML_WRITER_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XmlWriter_8hpp.html#a0"><param name="Name" value="XmlWriter.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_AXIS_XMLTYPE_HPP"><param name="Name" value="_AXIS_XMLTYPE_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLType_8hpp.html#a0"><param name="Name" value="XMLType.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="_SOAPMESSAGE_HPP"><param name="Name" value="_SOAPMESSAGE_HPP"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMessage_8hpp.html#a0"><param name="Name" value="SOAPMessage.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Add"><param name="Name" value="Add"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a1"><param name="Name" value="AttList"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a1"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AddMsgElement"><param name="Name" value="AddMsgElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a8"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a4"><param name="Name" value="RPCElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a4"><param name="Name" value="SOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a7"><param name="Name" value="SOAPEnvelope"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a3"><param name="Name" value="SOAPFaultElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AddParameter"><param name="Name" value="AddParameter"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a3"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AddSerializerFactory"><param name="Name" value="AddSerializerFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a9"><param name="Name" value="Call"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a2"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AddSOAPBodyElement"><param name="Name" value="AddSOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a3"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AddSOAPHeader"><param name="Name" value="AddSOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a4"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Append"><param name="Name" value="Append"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a11"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="AttList_8hpp.html"><param name="Name" value="AttList.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AttList_8hpp.html#a0"><param name="Name" value="_AXIS_ATTLIST_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html"><param name="Name" value="AttList"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a1"><param name="Name" value="Add"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a0"><param name="Name" value="AttList"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#u0"><param name="Name" value="Attrib_t"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a2"><param name="Name" value="getLength"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a3"><param name="Name" value="getName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a4"><param name="Name" value="getValue"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#o0"><param name="Name" value="m_Attribs"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Attrib_t"><param name="Name" value="Attrib_t"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#u0"><param name="Name" value="AttList"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html"><param name="Name" value="ax::QName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a9"><param name="Name" value="GetLocalPart"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a8"><param name="Name" value="GetNsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#o1"><param name="Name" value="m_strLocalPart"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#o0"><param name="Name" value="m_strNsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#l0"><param name="Name" value="operator<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a10"><param name="Name" value="operator=="></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a0"><param name="Name" value="QName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a7"><param name="Name" value="SetLocalPart"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a6"><param name="Name" value="SetNsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a11"><param name="Name" value="toString"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a5"><param name="Name" value="~QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html"><param name="Name" value="ax::XMLType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#d0"><param name="Name" value="GetType"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#a0"><param name="Name" value="XMLType"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#a1"><param name="Name" value="~XMLType"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html"><param name="Name" value="ax"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a43"><param name="Name" value="operator<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a42"><param name="Name" value="XMLType< const std::string >::GetType"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a41"><param name="Name" value="XMLType< std::string >::GetType"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="AXIS_API"><param name="Name" value="AXIS_API"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Platform_8hpp.html#a1"><param name="Name" value="Platform.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisConst_8hpp.html"><param name="Name" value="AxisConst.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisConst_8hpp.html#a0"><param name="Name" value="_AXIS_CONST_H"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisException_8hpp.html"><param name="Name" value="AxisException.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="AxisException_8hpp.html#a0"><param name="Name" value="_AXIS_AXISEXCEPTION_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html"><param name="Name" value="AxisException"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a0"><param name="Name" value="AxisException"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a5"><param name="Name" value="Clear"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a4"><param name="Name" value="GetErrorMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#n0"><param name="Name" value="m_Error"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#n1"><param name="Name" value="m_Lvl"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a2"><param name="Name" value="~AxisException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisFault.html"><param name="Name" value="AxisFault"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisFault.html#a0"><param name="Name" value="AxisFault"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisFault.html#a1"><param name="Name" value="~AxisFault"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="buf"><param name="Name" value="buf"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#o0"><param name="Name" value="SOAPEncoding"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Call_8hpp.html"><param name="Name" value="Call.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Call_8hpp.html#a0"><param name="Name" value="_AXIS_CALL_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html"><param name="Name" value="Call"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a3"><param name="Name" value="AddParameter"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a9"><param name="Name" value="AddSerializerFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a0"><param name="Name" value="Call"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#c0"><param name="Name" value="Cleanup"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a11"><param name="Name" value="ClearAllParams"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s2"><param name="Name" value="IN_OUT_PARAM"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s0"><param name="Name" value="IN_PARAM"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a5"><param name="Name" value="Invoke"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o4"><param name="Name" value="m_EncStyle"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o5"><param name="Name" value="m_pClientCtx"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o3"><param name="Name" value="m_ServerURL"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o2"><param name="Name" value="m_strMethodNsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o1"><param name="Name" value="m_strOpName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o0"><param name="Name" value="m_vArgs"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3"><param name="Name" value="Mode"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s1"><param name="Name" value="OUT_PARAM"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a10"><param name="Name" value="SetEncodingStyle"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a7"><param name="Name" value="SetMethodNamespaceURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a8"><param name="Name" value="SetOperationName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a6"><param name="Name" value="SetTargetEndpointAddress"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a1"><param name="Name" value="~Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Channel_8hpp.html"><param name="Name" value="Channel.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Channel_8hpp.html#a0"><param name="Name" value="_AXIS_CHANNEL_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html"><param name="Name" value="Channel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a0"><param name="Name" value="Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a3"><param name="Name" value="Close"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c2"><param name="Name" value="CloseChannel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c1"><param name="Name" value="Error"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a6"><param name="Name" value="GetLastError"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c0"><param name="Name" value="Init"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o3"><param name="Name" value="m_LastErr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o4"><param name="Name" value="m_pTransportHandler"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o2"><param name="Name" value="m_RemoteEnd"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o1"><param name="Name" value="m_RemoteNode"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o0"><param name="Name" value="m_Sock"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a2"><param name="Name" value="Open"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a5"><param name="Name" value="operator<<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a4"><param name="Name" value="operator>>"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a7"><param name="Name" value="SetTransportHandler"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a1"><param name="Name" value="~Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html"><param name="Name" value="ChannelException"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#a0"><param name="Name" value="ChannelException"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#a2"><param name="Name" value="GetErr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#o0"><param name="Name" value="m_Error"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#a1"><param name="Name" value="~ChannelException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Cleanup"><param name="Name" value="Cleanup"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#c0"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Clear"><param name="Name" value="Clear"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a5"><param name="Name" value="AxisException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="ClearAllParams"><param name="Name" value="ClearAllParams"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a11"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Close"><param name="Name" value="Close"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a3"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="CloseChannel"><param name="Name" value="CloseChannel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c2"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="CreateCall"><param name="Name" value="CreateCall"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html#d0"><param name="Name" value="ServiceFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="DeSerialize"><param name="Name" value="DeSerialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a4"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a6"><param name="Name" value="RPCElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a8"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Deserialize"><param name="Name" value="Deserialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a3"><param name="Name" value="SerializerFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="DeSerialize"><param name="Name" value="DeSerialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a7"><param name="Name" value="SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Deserialize"><param name="Name" value="Deserialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a3"><param name="Name" value="SOAPEncoding"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="DeSerialize"><param name="Name" value="DeSerialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a10"><param name="Name" value="SOAPEnvelope"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a5"><param name="Name" value="SOAPFaultElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a4"><param name="Name" value="SOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a13"><param name="Name" value="SOAPMessage"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a2"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Encoding_Name"><param name="Name" value="Encoding_Name"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a1"><param name="Name" value="XMLSerializer.cpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="EndElem"><param name="Name" value="EndElem"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a9"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Error"><param name="Name" value="Error"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c1"><param name="Name" value="Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c3"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="error"><param name="Name" value="error"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a1"><param name="Name" value="ParseErrorHandler"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="errReporter"><param name="Name" value="errReporter"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o3"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="fatalError"><param name="Name" value="fatalError"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a2"><param name="Name" value="ParseErrorHandler"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="file"><param name="Name" value="file"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s3"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="findPrefix"><param name="Name" value="findPrefix"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsMap.html#a1"><param name="Name" value="NsMap"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="findURI"><param name="Name" value="findURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsMap.html#a0"><param name="Name" value="NsMap"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="flush"><param name="Name" value="flush"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a13"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="ftp"><param name="Name" value="ftp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s2"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="FTP_PORT"><param name="Name" value="FTP_PORT"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a3"><param name="Name" value="Url.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetBody"><param name="Name" value="GetBody"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a5"><param name="Name" value="SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetElmQName"><param name="Name" value="GetElmQName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a9"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetErr"><param name="Name" value="GetErr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#a2"><param name="Name" value="ChannelException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetErrorMsg"><param name="Name" value="GetErrorMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a4"><param name="Name" value="AxisException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetHostName"><param name="Name" value="GetHostName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a9"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetLastError"><param name="Name" value="GetLastError"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a6"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="getLength"><param name="Name" value="getLength"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a2"><param name="Name" value="AttList"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetLocalPart"><param name="Name" value="GetLocalPart"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a9"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetMsg"><param name="Name" value="GetMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a10"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="getName"><param name="Name" value="getName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a3"><param name="Name" value="AttList"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetName"><param name="Name" value="GetName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a5"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetNamespaceURI"><param name="Name" value="GetNamespaceURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a6"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetNsURI"><param name="Name" value="GetNsURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a8"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetPayLoad"><param name="Name" value="GetPayLoad"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c2"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetPort"><param name="Name" value="GetPort"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a11"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetPrefix"><param name="Name" value="GetPrefix"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a5"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetPrefixForURI"><param name="Name" value="GetPrefixForURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a4"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetProtocol"><param name="Name" value="GetProtocol"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a8"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetQNameFromStr"><param name="Name" value="GetQNameFromStr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a6"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetResource"><param name="Name" value="GetResource"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a10"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetResults"><param name="Name" value="GetResults"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a5"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetReturnValue"><param name="Name" value="GetReturnValue"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a7"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetSerializerFactory"><param name="Name" value="GetSerializerFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a3"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetSOAPBodyElement"><param name="Name" value="GetSOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a8"><param name="Name" value="SOAPEnvelope"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a4"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetSOAPEnvelop"><param name="Name" value="GetSOAPEnvelop"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a6"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetSOAPHeader"><param name="Name" value="GetSOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a5"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetStatus"><param name="Name" value="GetStatus"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a4"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a3"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetTransport"><param name="Name" value="GetTransport"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html#d0"><param name="Name" value="TransportFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetType"><param name="Name" value="GetType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#d0"><param name="Name" value="ax::XMLType"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetTypeMapper"><param name="Name" value="GetTypeMapper"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a8"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a7"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="getValue"><param name="Name" value="getValue"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#a4"><param name="Name" value="AttList"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="GetValue"><param name="Name" value="GetValue"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a6"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Header_t"><param name="Name" value="Header_t"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#u0"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="http"><param name="Name" value="http"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s0"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="HTTP_PORT"><param name="Name" value="HTTP_PORT"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a1"><param name="Name" value="Url.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="HTTPBind"><param name="Name" value="HTTPBind"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c0"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="https"><param name="Name" value="https"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s1"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="HTTPS_PORT"><param name="Name" value="HTTPS_PORT"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a2"><param name="Name" value="Url.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="HttpTransport_8hpp.html"><param name="Name" value="HttpTransport.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="HttpTransport_8hpp.html#a0"><param name="Name" value="_AXIS_HTTPTRANSPORT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html"><param name="Name" value="HttpTransport"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c3"><param name="Name" value="Error"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c2"><param name="Name" value="GetPayLoad"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a4"><param name="Name" value="GetStatus"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#u0"><param name="Name" value="Header_t"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c0"><param name="Name" value="HTTPBind"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a0"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c1"><param name="Name" value="HTTPValidate"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a3"><param name="Name" value="Init"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o4"><param name="Name" value="m_AdditionalHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o2"><param name="Name" value="m_InMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o1"><param name="Name" value="m_OutMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o3"><param name="Name" value="m_PayLoad"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o0"><param name="Name" value="m_Typ"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2s1"><param name="Name" value="MPOST"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a7"><param name="Name" value="operator<<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a6"><param name="Name" value="operator>>"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2s0"><param name="Name" value="POST"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a5"><param name="Name" value="SetProperty"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2"><param name="Name" value="Type"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a2"><param name="Name" value="~HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="HTTPValidate"><param name="Name" value="HTTPValidate"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#c1"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="impl"><param name="Name" value="impl"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o6"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="IN_OUT_PARAM"><param name="Name" value="IN_OUT_PARAM"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s2"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="IN_PARAM"><param name="Name" value="IN_PARAM"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s0"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Indx"><param name="Name" value="Indx"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#o1"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Init"><param name="Name" value="Init"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#c0"><param name="Name" value="Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a3"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a2"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Invoke"><param name="Name" value="Invoke"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a5"><param name="Name" value="Call"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a4"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_AdditionalHeader"><param name="Name" value="m_AdditionalHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o4"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_AttLst"><param name="Name" value="m_AttLst"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n4"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Attribs"><param name="Name" value="m_Attribs"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAttList.html#o0"><param name="Name" value="AttList"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_bRecv"><param name="Name" value="m_bRecv"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o5"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_bStartDoc"><param name="Name" value="m_bStartDoc"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o1"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_bStatus"><param name="Name" value="m_bStatus"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n3"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Channel"><param name="Name" value="m_Channel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n2"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_ChildElm"><param name="Name" value="m_ChildElm"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o10"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_CurElm"><param name="Name" value="m_CurElm"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o9"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_CurNode"><param name="Name" value="m_CurNode"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o8"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_CurTxtElm"><param name="Name" value="m_CurTxtElm"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o11"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Doc"><param name="Name" value="m_Doc"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o7"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_EncStyle"><param name="Name" value="m_EncStyle"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o4"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_envMsg"><param name="Name" value="m_envMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#o1"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Error"><param name="Name" value="m_Error"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#n0"><param name="Name" value="AxisException"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#o0"><param name="Name" value="ChannelException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Host"><param name="Name" value="m_Host"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o1"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_InMsg"><param name="Name" value="m_InMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o2"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_LastErr"><param name="Name" value="m_LastErr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o3"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Lvl"><param name="Name" value="m_Lvl"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#n1"><param name="Name" value="AxisException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_MapRegistry"><param name="Name" value="m_MapRegistry"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#o0"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Msg"><param name="Name" value="m_Msg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n6"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#o0"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Name"><param name="Name" value="m_Name"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n0"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m2"><param name="Name" value="Param"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o1"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_nBufSize"><param name="Name" value="m_nBufSize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XmlWriter_8hpp.html#a1"><param name="Name" value="XmlWriter.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_nIndent"><param name="Name" value="m_nIndent"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o2"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_nsStk"><param name="Name" value="m_nsStk"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o0"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o0"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_NsURI"><param name="Name" value="m_NsURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n2"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o0"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_OutMsg"><param name="Name" value="m_OutMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o1"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Password"><param name="Name" value="m_Password"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o5"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Path"><param name="Name" value="m_Path"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o3"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_PayLoad"><param name="Name" value="m_PayLoad"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o3"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pBody"><param name="Name" value="m_pBody"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#o0"><param name="Name" value="SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pClientCtx"><param name="Name" value="m_pClientCtx"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o5"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pCurNode"><param name="Name" value="m_pCurNode"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o1"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pElmNode"><param name="Name" value="m_pElmNode"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n3"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pFault"><param name="Name" value="m_pFault"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#o1"><param name="Name" value="SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Port"><param name="Name" value="m_Port"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o2"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pParams"><param name="Name" value="m_pParams"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o0"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Prefix"><param name="Name" value="m_Prefix"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o3"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_PrefixIndx"><param name="Name" value="m_PrefixIndx"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o3"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pRepMsg"><param name="Name" value="m_pRepMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o1"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pReqMsg"><param name="Name" value="m_pReqMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o0"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Protocol"><param name="Name" value="m_Protocol"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o0"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pTransportChannel"><param name="Name" value="m_pTransportChannel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o4"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pTransportHandler"><param name="Name" value="m_pTransportHandler"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o4"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pTrChannel"><param name="Name" value="m_pTrChannel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o1"><param name="Name" value="Receiver"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#o0"><param name="Name" value="Sender"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pType"><param name="Name" value="m_pType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m1"><param name="Name" value="Param"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pTypeMapper"><param name="Name" value="m_pTypeMapper"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o4"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o5"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pTypeMpRegistry"><param name="Name" value="m_pTypeMpRegistry"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o2"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_pValue"><param name="Name" value="m_pValue"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m0"><param name="Name" value="Param"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o4"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_qName"><param name="Name" value="m_qName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n5"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Query"><param name="Name" value="m_Query"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o4"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_RecvPort"><param name="Name" value="m_RecvPort"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o2"><param name="Name" value="Receiver"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_RemoteEnd"><param name="Name" value="m_RemoteEnd"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o2"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_RemoteNode"><param name="Name" value="m_RemoteNode"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o1"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Result"><param name="Name" value="m_Result"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o2"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_ServerURL"><param name="Name" value="m_ServerURL"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o3"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_ServiceUrl"><param name="Name" value="m_ServiceUrl"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o3"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_SOAPBody"><param name="Name" value="m_SOAPBody"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o0"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_SOAPBodyItr"><param name="Name" value="m_SOAPBodyItr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o2"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_SOAPHdItr"><param name="Name" value="m_SOAPHdItr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o3"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_SOAPHeader"><param name="Name" value="m_SOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o1"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Sock"><param name="Name" value="m_Sock"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#o0"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strFault"><param name="Name" value="m_strFault"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#o0"><param name="Name" value="SOAPFaultElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strLocalPart"><param name="Name" value="m_strLocalPart"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#o1"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strMethodNsURI"><param name="Name" value="m_strMethodNsURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o2"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strNsURI"><param name="Name" value="m_strNsURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#o0"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strOpName"><param name="Name" value="m_strOpName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o1"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strType"><param name="Name" value="m_strType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o3"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_strUrl"><param name="Name" value="m_strUrl"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n1"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Typ"><param name="Name" value="m_Typ"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#o0"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Type"><param name="Name" value="m_Type"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o5"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Url"><param name="Name" value="m_Url"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n0"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_URL"><param name="Name" value="m_URL"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o7"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_User"><param name="Name" value="m_User"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o6"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_Value"><param name="Name" value="m_Value"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o2"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_vArgs"><param name="Name" value="m_vArgs"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#o0"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_xmlBuf"><param name="Name" value="m_xmlBuf"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#o0"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="m_xmlBuffer"><param name="Name" value="m_xmlBuffer"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o4"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="MessageElement_8hpp.html"><param name="Name" value="MessageElement.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="MessageElement_8hpp.html#a0"><param name="Name" value="_AXIS_MESSAGEELEMENT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html"><param name="Name" value="MessageElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a8"><param name="Name" value="AddMsgElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a4"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a9"><param name="Name" value="GetElmQName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n4"><param name="Name" value="m_AttLst"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n6"><param name="Name" value="m_Msg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n0"><param name="Name" value="m_Name"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n2"><param name="Name" value="m_NsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n3"><param name="Name" value="m_pElmNode"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n5"><param name="Name" value="m_qName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a0"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n1"><param name="Name" value="prefix"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a5"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a7"><param name="Name" value="SetElmQName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a6"><param name="Name" value="SetMsgElm"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a3"><param name="Name" value="~MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Mode"><param name="Name" value="Mode"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="MPOST"><param name="Name" value="MPOST"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2s1"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Ns"><param name="Name" value="Ns"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#o0"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsMap.html"><param name="Name" value="NsMap"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsMap.html#a1"><param name="Name" value="findPrefix"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsMap.html#a0"><param name="Name" value="findURI"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="NsMap_t"><param name="Name" value="NsMap_t"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="NsStack_8hpp.html#a1"><param name="Name" value="NsStack.hpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="NsStack_8hpp.html"><param name="Name" value="NsStack.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="NsStack_8hpp.html#a0"><param name="Name" value="_AXIS_NSSTACK_HPP"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="NsStack_8hpp.html#a1"><param name="Name" value="NsMap_t"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html"><param name="Name" value="NsStack"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a1"><param name="Name" value="Add"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a6"><param name="Name" value="GetNamespaceURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a5"><param name="Name" value="GetPrefix"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#o1"><param name="Name" value="Indx"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#o0"><param name="Name" value="Ns"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a0"><param name="Name" value="NsStack"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a3"><param name="Name" value="Peek"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a4"><param name="Name" value="Pop"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a2"><param name="Name" value="Push"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Open"><param name="Name" value="Open"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a2"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="operator<<"><param name="Name" value="operator<<"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a5"><param name="Name" value="Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a7"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a6"><param name="Name" value="Transport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#l2"><param name="Name" value="XMLSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a5"><param name="Name" value="XMLSerializer.cpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="operator<"><param name="Name" value="operator<"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a43"><param name="Name" value="ax"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#l0"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="operator=="><param name="Name" value="operator=="></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a10"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="operator="><param name="Name" value="operator="></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#c1"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="operator>>"><param name="Name" value="operator>>"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a4"><param name="Name" value="Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a6"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a5"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="OUT_PARAM"><param name="Name" value="OUT_PARAM"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#s3s1"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Param_8hpp.html"><param name="Name" value="Param.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Param_8hpp.html#a0"><param name="Name" value="_AXIS_PARAM_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html"><param name="Name" value="Param"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m2"><param name="Name" value="m_Name"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m1"><param name="Name" value="m_pType"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#m0"><param name="Name" value="m_pValue"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#a0"><param name="Name" value="Param"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#a1"><param name="Name" value="~Param"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="paramItr"><param name="Name" value="paramItr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o1"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html"><param name="Name" value="ParseErrorHandler"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a1"><param name="Name" value="error"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a2"><param name="Name" value="fatalError"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a3"><param name="Name" value="resetErrors"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a0"><param name="Name" value="warning"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="parser"><param name="Name" value="parser"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o2"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="ParseURL"><param name="Name" value="ParseURL"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#c0"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Peek"><param name="Name" value="Peek"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a3"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Platform_8hpp.html"><param name="Name" value="Platform.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Platform_8hpp.html#a0"><param name="Name" value="_AXIS_STDAFX_H"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Platform_8hpp.html#a1"><param name="Name" value="AXIS_API"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Pop"><param name="Name" value="Pop"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a4"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="POST"><param name="Name" value="POST"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2s0"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="prefix"><param name="Name" value="prefix"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#n1"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Protocol"><param name="Name" value="Protocol"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Push"><param name="Name" value="Push"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classNsStack.html#a2"><param name="Name" value="NsStack"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="QName_8hpp.html"><param name="Name" value="QName.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="QName_8hpp.html#a0"><param name="Name" value="_AXIS_QNAME_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="QName"><param name="Name" value="QName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a0"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="QNameToStr"><param name="Name" value="QNameToStr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a5"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a5"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Receiver_8hpp.html"><param name="Name" value="Receiver.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Receiver_8hpp.html#a0"><param name="Name" value="_AXIS_RECEIVER_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html"><param name="Name" value="Receiver"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o1"><param name="Name" value="m_pTrChannel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o2"><param name="Name" value="m_RecvPort"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#a0"><param name="Name" value="Receiver"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#a2"><param name="Name" value="Recv"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o0"><param name="Name" value="repMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#a1"><param name="Name" value="~Receiver"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Recv"><param name="Name" value="Recv"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#a2"><param name="Name" value="Receiver"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="RegisterPrefixes"><param name="Name" value="RegisterPrefixes"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a11"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="RegisterPrefixForURI"><param name="Name" value="RegisterPrefixForURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a4"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a2"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="RegisterTypeMapping"><param name="Name" value="RegisterTypeMapping"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a2"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="repMsg"><param name="Name" value="repMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#o0"><param name="Name" value="Receiver"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="resetErrors"><param name="Name" value="resetErrors"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a3"><param name="Name" value="ParseErrorHandler"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="RmSOAPBodyElement"><param name="Name" value="RmSOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a5"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="RmSOAPHeader"><param name="Name" value="RmSOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a6"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCElement_8hpp.html"><param name="Name" value="RPCElement.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCElement_8hpp.html#a0"><param name="Name" value="_AXIS_RPCELEMENT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html"><param name="Name" value="RPCElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a4"><param name="Name" value="AddMsgElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a6"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a7"><param name="Name" value="GetReturnValue"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o0"><param name="Name" value="m_pParams"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o3"><param name="Name" value="m_Prefix"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o2"><param name="Name" value="m_Result"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#o1"><param name="Name" value="paramItr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a0"><param name="Name" value="RPCElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a5"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a3"><param name="Name" value="~RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCParam_8hpp.html"><param name="Name" value="RPCParam.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="RPCParam_8hpp.html#a0"><param name="Name" value="_AXIS_RPCPARAM_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html"><param name="Name" value="RPCParam"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a8"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a5"><param name="Name" value="GetName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a6"><param name="Name" value="GetValue"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o1"><param name="Name" value="m_Name"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o0"><param name="Name" value="m_NsURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o4"><param name="Name" value="m_pValue"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o3"><param name="Name" value="m_strType"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o5"><param name="Name" value="m_Type"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o2"><param name="Name" value="m_Value"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a0"><param name="Name" value="RPCParam"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a7"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o6"><param name="Name" value="tmp"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a4"><param name="Name" value="~RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Send"><param name="Name" value="Send"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#a2"><param name="Name" value="Sender"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Sender_8hpp.html"><param name="Name" value="Sender.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Sender_8hpp.html#a0"><param name="Name" value="_AXIS_SENDER_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html"><param name="Name" value="Sender"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#o0"><param name="Name" value="m_pTrChannel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#a2"><param name="Name" value="Send"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#a0"><param name="Name" value="Sender"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#a1"><param name="Name" value="~Sender"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Serialize"><param name="Name" value="Serialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a5"><param name="Name" value="MessageElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a5"><param name="Name" value="RPCElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a7"><param name="Name" value="RPCParam"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a2"><param name="Name" value="SerializerFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a6"><param name="Name" value="SOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a2"><param name="Name" value="SOAPEncoding"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a9"><param name="Name" value="SOAPEnvelope"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a4"><param name="Name" value="SOAPFaultElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a3"><param name="Name" value="SOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a12"><param name="Name" value="SOAPMessage"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a12"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SerializerFactory_8hpp.html"><param name="Name" value="SerializerFactory.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SerializerFactory_8hpp.html#a0"><param name="Name" value="_AXIS_SERIALIZERFACTORY_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html"><param name="Name" value="SerializerFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a3"><param name="Name" value="Deserialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a2"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a0"><param name="Name" value="SerializerFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a1"><param name="Name" value="~SerializerFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="ServiceFactory_8hpp.html"><param name="Name" value="ServiceFactory.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="ServiceFactory_8hpp.html#a0"><param name="Name" value="_AXIS_SERVICEFACTORY_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html"><param name="Name" value="ServiceFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html#d0"><param name="Name" value="CreateCall"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html#a0"><param name="Name" value="ServiceFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html#a1"><param name="Name" value="~ServiceFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetContext"><param name="Name" value="SetContext"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a3"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetElmQName"><param name="Name" value="SetElmQName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a7"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetEncodingStyle"><param name="Name" value="SetEncodingStyle"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a10"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetHostName"><param name="Name" value="SetHostName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a5"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetLocalPart"><param name="Name" value="SetLocalPart"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a7"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetMethodNamespaceURI"><param name="Name" value="SetMethodNamespaceURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a7"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetMsg"><param name="Name" value="SetMsg"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a11"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetMsgElm"><param name="Name" value="SetMsgElm"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a6"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetNsURI"><param name="Name" value="SetNsURI"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a6"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetOperationName"><param name="Name" value="SetOperationName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a8"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetPort"><param name="Name" value="SetPort"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a7"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetProperty"><param name="Name" value="SetProperty"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a5"><param name="Name" value="HttpTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a4"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetProtocol"><param name="Name" value="SetProtocol"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a4"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetResource"><param name="Name" value="SetResource"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a6"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetServiceURL"><param name="Name" value="SetServiceURL"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a3"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetSOAPBodyElement"><param name="Name" value="SetSOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a7"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetSOAPEnvelop"><param name="Name" value="SetSOAPEnvelop"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a9"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetSOAPHeader"><param name="Name" value="SetSOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a8"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetTargetEndpointAddress"><param name="Name" value="SetTargetEndpointAddress"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a6"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetTransportHandler"><param name="Name" value="SetTransportHandler"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a7"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SetTypeMappingRegistry"><param name="Name" value="SetTypeMappingRegistry"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a7"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a6"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPBodyElement_8hpp.html"><param name="Name" value="SOAPBodyElement.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPBodyElement_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPBODYELEMENT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html"><param name="Name" value="SOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a4"><param name="Name" value="AddMsgElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a7"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a5"><param name="Name" value="GetBody"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#o0"><param name="Name" value="m_pBody"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#o1"><param name="Name" value="m_pFault"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a6"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a0"><param name="Name" value="SOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a3"><param name="Name" value="~SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8cpp.html"><param name="Name" value="SOAPEncoding.cpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8cpp.html#a1"><param name="Name" value="SOAPEncoding< std::string >::Deserialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8cpp.html#a0"><param name="Name" value="SOAPEncoding< std::string >::Serialize"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8hpp.html"><param name="Name" value="SOAPEncoding.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPENCODING_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SOAPEncoding< std::string >::Deserialize"><param name="Name" value="SOAPEncoding< std::string >::Deserialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8cpp.html#a1"><param name="Name" value="SOAPEncoding.cpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="SOAPEncoding< std::string >::Serialize"><param name="Name" value="SOAPEncoding< std::string >::Serialize"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEncoding_8cpp.html#a0"><param name="Name" value="SOAPEncoding.cpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html"><param name="Name" value="SOAPEncoding"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#o0"><param name="Name" value="buf"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a3"><param name="Name" value="Deserialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a2"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a0"><param name="Name" value="SOAPEncoding"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a1"><param name="Name" value="~SOAPEncoding"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEnvelope_8hpp.html"><param name="Name" value="SOAPEnvelope.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPEnvelope_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPENVELOPE_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html"><param name="Name" value="SOAPEnvelope"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a7"><param name="Name" value="AddMsgElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a3"><param name="Name" value="AddSOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a4"><param name="Name" value="AddSOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a10"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a8"><param name="Name" value="GetSOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o0"><param name="Name" value="m_SOAPBody"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o2"><param name="Name" value="m_SOAPBodyItr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o3"><param name="Name" value="m_SOAPHdItr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#o1"><param name="Name" value="m_SOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a11"><param name="Name" value="RegisterPrefixes"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a5"><param name="Name" value="RmSOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a6"><param name="Name" value="RmSOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a9"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a0"><param name="Name" value="SOAPEnvelope"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a2"><param name="Name" value="~SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#o0"><param name="Name" value="m_xmlBuf"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#c1"><param name="Name" value="operator="></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#a0"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#a2"><param name="Name" value="writeChars"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#a1"><param name="Name" value="~SOAPEnvelopFormatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPFaultElement_8hpp.html"><param name="Name" value="SOAPFaultElement.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPFaultElement_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPFAULT_ELEMENT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html"><param name="Name" value="SOAPFaultElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a3"><param name="Name" value="AddMsgElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a5"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#o0"><param name="Name" value="m_strFault"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a4"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a0"><param name="Name" value="SOAPFaultElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a2"><param name="Name" value="~SOAPFaultElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPHeader_8hpp.html"><param name="Name" value="SOAPHeader.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPHeader_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPHEADER_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html"><param name="Name" value="SOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a4"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a3"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a0"><param name="Name" value="SOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a2"><param name="Name" value="~SOAPHeader"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMessage_8hpp.html"><param name="Name" value="SOAPMessage.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMessage_8hpp.html#a0"><param name="Name" value="_SOAPMESSAGE_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html"><param name="Name" value="SOAPMessage"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a13"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a10"><param name="Name" value="GetMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a4"><param name="Name" value="GetSOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a6"><param name="Name" value="GetSOAPEnvelop"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a5"><param name="Name" value="GetSOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#o1"><param name="Name" value="m_envMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#o0"><param name="Name" value="m_Msg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a12"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a11"><param name="Name" value="SetMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a7"><param name="Name" value="SetSOAPBodyElement"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a9"><param name="Name" value="SetSOAPEnvelop"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a8"><param name="Name" value="SetSOAPHeader"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a0"><param name="Name" value="SOAPMessage"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a3"><param name="Name" value="~SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMsgContext_8hpp.html"><param name="Name" value="SOAPMsgContext.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="SOAPMsgContext_8hpp.html#a0"><param name="Name" value="_AXIS_SOAPMSGCONTEXT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html"><param name="Name" value="SOAPMsgContext"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a5"><param name="Name" value="GetResults"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a4"><param name="Name" value="Invoke"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o5"><param name="Name" value="m_bRecv"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o1"><param name="Name" value="m_pRepMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o0"><param name="Name" value="m_pReqMsg"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o4"><param name="Name" value="m_pTransportChannel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o2"><param name="Name" value="m_pTypeMpRegistry"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#o3"><param name="Name" value="m_ServiceUrl"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a2"><param name="Name" value="RegisterTypeMapping"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a3"><param name="Name" value="SetServiceURL"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a0"><param name="Name" value="SOAPMsgContext"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a1"><param name="Name" value="~SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="StartElem"><param name="Name" value="StartElem"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a8"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="tmp"><param name="Name" value="tmp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#o6"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="toString"><param name="Name" value="toString"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a11"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Transport_8hpp.html"><param name="Name" value="Transport.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Transport_8hpp.html#a0"><param name="Name" value="_AXIS_TRANSPORT_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html"><param name="Name" value="Transport"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a3"><param name="Name" value="GetStatus"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a2"><param name="Name" value="Init"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n3"><param name="Name" value="m_bStatus"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n2"><param name="Name" value="m_Channel"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n1"><param name="Name" value="m_strUrl"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#n0"><param name="Name" value="m_Url"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a6"><param name="Name" value="operator<<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a5"><param name="Name" value="operator>>"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a4"><param name="Name" value="SetProperty"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a0"><param name="Name" value="Transport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a1"><param name="Name" value="~Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="TransportFactory_8hpp.html"><param name="Name" value="TransportFactory.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="TransportFactory_8hpp.html#a0"><param name="Name" value="_AXIS_TRANSPORTFACTORY_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html"><param name="Name" value="TransportFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html#d0"><param name="Name" value="GetTransport"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html#a0"><param name="Name" value="TransportFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html#a1"><param name="Name" value="~TransportFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Type"><param name="Name" value="Type"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#s2"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="TypeMap_t"><param name="Name" value="TypeMap_t"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#u0"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="TypeMappingRegistry_8hpp.html"><param name="Name" value="TypeMappingRegistry.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="TypeMappingRegistry_8hpp.html#a0"><param name="Name" value="_AXIS_TYPEMAPPINGREGISTRY_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a2"><param name="Name" value="AddSerializerFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a3"><param name="Name" value="GetSerializerFactory"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#o0"><param name="Name" value="m_MapRegistry"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#u0"><param name="Name" value="TypeMap_t"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a0"><param name="Name" value="TypeMappingRegistry"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a1"><param name="Name" value="~TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="unknown"><param name="Name" value="unknown"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s4"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html"><param name="Name" value="Url.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a0"><param name="Name" value="_AXIS_URL_HPP"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a3"><param name="Name" value="FTP_PORT"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a1"><param name="Name" value="HTTP_PORT"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="Url_8hpp.html#a2"><param name="Name" value="HTTPS_PORT"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html"><param name="Name" value="Url"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s3"><param name="Name" value="file"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s2"><param name="Name" value="ftp"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a9"><param name="Name" value="GetHostName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a11"><param name="Name" value="GetPort"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a8"><param name="Name" value="GetProtocol"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a10"><param name="Name" value="GetResource"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s0"><param name="Name" value="http"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s1"><param name="Name" value="https"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o1"><param name="Name" value="m_Host"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o5"><param name="Name" value="m_Password"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o3"><param name="Name" value="m_Path"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o2"><param name="Name" value="m_Port"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o0"><param name="Name" value="m_Protocol"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o4"><param name="Name" value="m_Query"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o7"><param name="Name" value="m_URL"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#o6"><param name="Name" value="m_User"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#c0"><param name="Name" value="ParseURL"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5"><param name="Name" value="Protocol"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a5"><param name="Name" value="SetHostName"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a7"><param name="Name" value="SetPort"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a4"><param name="Name" value="SetProtocol"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a6"><param name="Name" value="SetResource"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#s5s4"><param name="Name" value="unknown"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a0"><param name="Name" value="Url"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a2"><param name="Name" value="~Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="warning"><param name="Name" value="warning"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParseErrorHandler.html#a0"><param name="Name" value="ParseErrorHandler"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="writeChars"><param name="Name" value="writeChars"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#a2"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="WriteStr"><param name="Name" value="WriteStr"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a10"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XercescConst_8hpp.html"><param name="Name" value="XercescConst.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XercescConst_8hpp.html#a0"><param name="Name" value="_AXIS_XERCESCONST_H"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="Xml_Formatter"><param name="Name" value="Xml_Formatter"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a0"><param name="Name" value="XMLSerializer.cpp"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLDeSerializer_8hpp.html"><param name="Name" value="XMLDeSerializer.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLDeSerializer_8hpp.html#a0"><param name="Name" value="_AXIS_XML_DESERIALIZER_H"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html"><param name="Name" value="XMLDeSerializer"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a2"><param name="Name" value="DeSerialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o3"><param name="Name" value="errReporter"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a6"><param name="Name" value="GetQNameFromStr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a8"><param name="Name" value="GetTypeMapper"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o0"><param name="Name" value="m_nsStk"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o1"><param name="Name" value="m_pCurNode"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o4"><param name="Name" value="m_pTypeMapper"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#o2"><param name="Name" value="parser"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a5"><param name="Name" value="QNameToStr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a4"><param name="Name" value="RegisterPrefixForURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a3"><param name="Name" value="SetContext"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a7"><param name="Name" value="SetTypeMappingRegistry"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a0"><param name="Name" value="XMLDeSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a1"><param name="Name" value="~XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html"><param name="Name" value="XMLSerializer.cpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a1"><param name="Name" value="Encoding_Name"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a5"><param name="Name" value="operator<<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8cpp.html#a0"><param name="Name" value="Xml_Formatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8hpp.html"><param name="Name" value="XMLSerializer.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLSerializer_8hpp.html#a0"><param name="Name" value="_AXIS_XML_SERIALIZER_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html"><param name="Name" value="XMLSerializer"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a11"><param name="Name" value="Append"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a9"><param name="Name" value="EndElem"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a13"><param name="Name" value="flush"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a4"><param name="Name" value="GetPrefixForURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a7"><param name="Name" value="GetTypeMapper"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o6"><param name="Name" value="impl"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o1"><param name="Name" value="m_bStartDoc"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o10"><param name="Name" value="m_ChildElm"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o9"><param name="Name" value="m_CurElm"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o8"><param name="Name" value="m_CurNode"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o11"><param name="Name" value="m_CurTxtElm"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o7"><param name="Name" value="m_Doc"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o2"><param name="Name" value="m_nIndent"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o0"><param name="Name" value="m_nsStk"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o3"><param name="Name" value="m_PrefixIndx"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o5"><param name="Name" value="m_pTypeMapper"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#o4"><param name="Name" value="m_xmlBuffer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#l2"><param name="Name" value="operator<<"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a5"><param name="Name" value="QNameToStr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a2"><param name="Name" value="RegisterPrefixForURI"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a12"><param name="Name" value="Serialize"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a6"><param name="Name" value="SetTypeMappingRegistry"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a8"><param name="Name" value="StartElem"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a10"><param name="Name" value="WriteStr"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a0"><param name="Name" value="XMLSerializer"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a1"><param name="Name" value="~XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLType_8hpp.html"><param name="Name" value="XMLType.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XMLType_8hpp.html#a0"><param name="Name" value="_AXIS_XMLTYPE_HPP"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="XMLType< const std::string >::GetType"><param name="Name" value="XMLType< const std::string >::GetType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a42"><param name="Name" value="ax"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="XMLType< std::string >::GetType"><param name="Name" value="XMLType< std::string >::GetType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="namespace__ax.html#a41"><param name="Name" value="ax"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="XMLType"><param name="Name" value="XMLType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#a0"><param name="Name" value="ax::XMLType"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="Local" value="XmlWriter_8hpp.html"><param name="Name" value="XmlWriter.hpp"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XmlWriter_8hpp.html#a0"><param name="Name" value="_AXIS_XML_WRITER_HPP"></OBJECT>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="XmlWriter_8hpp.html#a1"><param name="Name" value="m_nBufSize"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~AxisException"><param name="Name" value="~AxisException"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisException.html#a2"><param name="Name" value="AxisException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~AxisFault"><param name="Name" value="~AxisFault"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classAxisFault.html#a1"><param name="Name" value="AxisFault"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Call"><param name="Name" value="~Call"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classCall.html#a1"><param name="Name" value="Call"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Channel"><param name="Name" value="~Channel"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannel.html#a1"><param name="Name" value="Channel"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~ChannelException"><param name="Name" value="~ChannelException"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classChannelException.html#a1"><param name="Name" value="ChannelException"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~HttpTransport"><param name="Name" value="~HttpTransport"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classHttpTransport.html#a2"><param name="Name" value="HttpTransport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~MessageElement"><param name="Name" value="~MessageElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classMessageElement.html#a3"><param name="Name" value="MessageElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Param"><param name="Name" value="~Param"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classParam.html#a1"><param name="Name" value="Param"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~QName"><param name="Name" value="~QName"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1QName.html#a5"><param name="Name" value="ax::QName"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Receiver"><param name="Name" value="~Receiver"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classReceiver.html#a1"><param name="Name" value="Receiver"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~RPCElement"><param name="Name" value="~RPCElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCElement.html#a3"><param name="Name" value="RPCElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~RPCParam"><param name="Name" value="~RPCParam"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classRPCParam.html#a4"><param name="Name" value="RPCParam"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Sender"><param name="Name" value="~Sender"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSender.html#a1"><param name="Name" value="Sender"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SerializerFactory"><param name="Name" value="~SerializerFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSerializerFactory.html#a1"><param name="Name" value="SerializerFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~ServiceFactory"><param name="Name" value="~ServiceFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classServiceFactory.html#a1"><param name="Name" value="ServiceFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPBodyElement"><param name="Name" value="~SOAPBodyElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPBodyElement.html#a3"><param name="Name" value="SOAPBodyElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPEncoding"><param name="Name" value="~SOAPEncoding"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEncoding.html#a1"><param name="Name" value="SOAPEncoding"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPEnvelope"><param name="Name" value="~SOAPEnvelope"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelope.html#a2"><param name="Name" value="SOAPEnvelope"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPEnvelopFormatter"><param name="Name" value="~SOAPEnvelopFormatter"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPEnvelopFormatter.html#a1"><param name="Name" value="SOAPEnvelopFormatter"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPFaultElement"><param name="Name" value="~SOAPFaultElement"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPFaultElement.html#a2"><param name="Name" value="SOAPFaultElement"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPHeader"><param name="Name" value="~SOAPHeader"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPHeader.html#a2"><param name="Name" value="SOAPHeader"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPMessage"><param name="Name" value="~SOAPMessage"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMessage.html#a3"><param name="Name" value="SOAPMessage"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~SOAPMsgContext"><param name="Name" value="~SOAPMsgContext"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classSOAPMsgContext.html#a1"><param name="Name" value="SOAPMsgContext"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Transport"><param name="Name" value="~Transport"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransport.html#a1"><param name="Name" value="Transport"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~TransportFactory"><param name="Name" value="~TransportFactory"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTransportFactory.html#a1"><param name="Name" value="TransportFactory"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~TypeMappingRegistry"><param name="Name" value="~TypeMappingRegistry"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classTypeMappingRegistry.html#a1"><param name="Name" value="TypeMappingRegistry"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~Url"><param name="Name" value="~Url"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classUrl.html#a2"><param name="Name" value="Url"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~XMLDeSerializer"><param name="Name" value="~XMLDeSerializer"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLDeSerializer.html#a1"><param name="Name" value="XMLDeSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~XMLSerializer"><param name="Name" value="~XMLSerializer"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classXMLSerializer.html#a1"><param name="Name" value="XMLSerializer"></OBJECT>
    </UL>
    <LI><OBJECT type="text/sitemap"><param name="See Also" value="~XMLType"><param name="Name" value="~XMLType"></OBJECT>
    <UL>
      <LI><OBJECT type="text/sitemap"><param name="Local" value="classax_1_1XMLType.html#a1"><param name="Name" value="ax::XMLType"></OBJECT>
  </UL>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/index.hhp
  
  Index: index.hhp
  ===================================================================
  [OPTIONS]
  Compatibility=1.1
  Full-text search=Yes
  Contents file=index.hhc
  Default Window=main
  Default topic=main.html
  Index file=index.hhk
  Create CHI file=YES
  Title=Axis C++ Client Library
  
  [WINDOWS]
  main="Axis C++ Client Library","index.hhc","index.hhk","main.html","main.html",,,,,0x23520,,0x3006,,,,,,,,0
  
  [FILES]
  main.html
  files.html
  AttList_8hpp-source.html
  AxisConst_8hpp-source.html
  AxisException_8cpp-source.html
  AxisException_8hpp-source.html
  Call_8cpp-source.html
  Call_8hpp-source.html
  Channel_8cpp-source.html
  Channel_8hpp-source.html
  HttpTransport_8cpp-source.html
  HttpTransport_8hpp-source.html
  MessageElement_8cpp-source.html
  MessageElement_8hpp-source.html
  NsStack_8cpp-source.html
  NsStack_8hpp-source.html
  Param_8cpp-source.html
  Param_8hpp-source.html
  Platform_8cpp-source.html
  Platform_8hpp-source.html
  QName_8cpp-source.html
  QName_8hpp-source.html
  Receiver_8cpp-source.html
  Receiver_8hpp-source.html
  RPCElement_8cpp-source.html
  RPCElement_8hpp-source.html
  RPCParam_8cpp-source.html
  RPCParam_8hpp-source.html
  Sender_8cpp-source.html
  Sender_8hpp-source.html
  SerializerFactory_8hpp-source.html
  ServiceFactory_8cpp-source.html
  ServiceFactory_8hpp-source.html
  SOAPBodyElement_8cpp-source.html
  SOAPBodyElement_8hpp-source.html
  SOAPEncoding_8cpp-source.html
  SOAPEncoding_8hpp-source.html
  SOAPEnvelope_8cpp-source.html
  SOAPEnvelope_8hpp-source.html
  SOAPFaultElement_8cpp-source.html
  SOAPFaultElement_8hpp-source.html
  SOAPHeader_8cpp-source.html
  SOAPHeader_8hpp-source.html
  SOAPMessage_8cpp-source.html
  SOAPMessage_8hpp-source.html
  SOAPMsgContext_8cpp-source.html
  SOAPMsgContext_8hpp-source.html
  Transport_8cpp-source.html
  Transport_8hpp-source.html
  TransportFactory_8cpp-source.html
  TransportFactory_8hpp-source.html
  TypeMappingRegistry_8cpp-source.html
  TypeMappingRegistry_8hpp-source.html
  Url_8cpp-source.html
  Url_8hpp-source.html
  XercescConst_8hpp-source.html
  XMLDeSerializer_8cpp-source.html
  XMLDeSerializer_8hpp-source.html
  XMLSerializer_8cpp-source.html
  XMLSerializer_8hpp-source.html
  XMLType_8cpp-source.html
  XMLType_8hpp-source.html
  XmlWriter_8hpp-source.html
  AttList_8hpp.html
  AxisConst_8hpp.html
  AxisException_8cpp.html
  AxisException_8hpp.html
  Call_8cpp.html
  Call_8hpp.html
  Channel_8cpp.html
  Channel_8hpp.html
  HttpTransport_8cpp.html
  HttpTransport_8hpp.html
  MessageElement_8cpp.html
  MessageElement_8hpp.html
  NsStack_8cpp.html
  NsStack_8hpp.html
  Param_8cpp.html
  Param_8hpp.html
  Platform_8cpp.html
  Platform_8hpp.html
  QName_8cpp.html
  QName_8hpp.html
  Receiver_8cpp.html
  Receiver_8hpp.html
  RPCElement_8cpp.html
  RPCElement_8hpp.html
  RPCParam_8cpp.html
  RPCParam_8hpp.html
  Sender_8cpp.html
  Sender_8hpp.html
  SerializerFactory_8hpp.html
  ServiceFactory_8cpp.html
  ServiceFactory_8hpp.html
  SOAPBodyElement_8cpp.html
  SOAPBodyElement_8hpp.html
  SOAPEncoding_8cpp.html
  SOAPEncoding_8hpp.html
  SOAPEnvelope_8cpp.html
  SOAPEnvelope_8hpp.html
  SOAPFaultElement_8cpp.html
  SOAPFaultElement_8hpp.html
  SOAPHeader_8cpp.html
  SOAPHeader_8hpp.html
  SOAPMessage_8cpp.html
  SOAPMessage_8hpp.html
  SOAPMsgContext_8cpp.html
  SOAPMsgContext_8hpp.html
  Transport_8cpp.html
  Transport_8hpp.html
  TransportFactory_8cpp.html
  TransportFactory_8hpp.html
  TypeMappingRegistry_8cpp.html
  TypeMappingRegistry_8hpp.html
  Url_8cpp.html
  Url_8hpp.html
  XercescConst_8hpp.html
  XMLDeSerializer_8cpp.html
  XMLDeSerializer_8hpp.html
  XMLSerializer_8cpp.html
  XMLSerializer_8hpp.html
  XMLType_8cpp.html
  XMLType_8hpp.html
  XmlWriter_8hpp.html
  annotated.html
  classes.html
  hierarchy.html
  functions.html
  classAttList.html
  classAttList-members.html
  classAxisException.html
  classAxisException-members.html
  classAxisFault.html
  classAxisFault-members.html
  classCall.html
  classCall-members.html
  classChannel.html
  classChannel-members.html
  classChannelException.html
  classChannelException-members.html
  classErrorHandler.html
  classHttpTransport.html
  classHttpTransport-members.html
  classMessageElement.html
  classMessageElement-members.html
  classNsMap.html
  classNsMap-members.html
  classNsMap__t.html
  classNsStack.html
  classNsStack-members.html
  classstd_1_1ostringstream.html
  classParam.html
  classParam-members.html
  classParseErrorHandler.html
  classParseErrorHandler-members.html
  classax_1_1QName.html
  classax_1_1QName-members.html
  classReceiver.html
  classReceiver-members.html
  classRPCElement.html
  classRPCElement-members.html
  classRPCParam.html
  classRPCParam-members.html
  classSender.html
  classSender-members.html
  classSerializerFactory.html
  classSerializerFactory-members.html
  classServiceFactory.html
  classServiceFactory-members.html
  classSOAPBodyElement.html
  classSOAPBodyElement-members.html
  classSOAPEncoding.html
  classSOAPEncoding-members.html
  classSOAPEnvelope.html
  classSOAPEnvelope-members.html
  classSOAPEnvelopFormatter.html
  classSOAPEnvelopFormatter-members.html
  classSOAPFaultElement.html
  classSOAPFaultElement-members.html
  classSOAPHeader.html
  classSOAPHeader-members.html
  classSOAPMessage.html
  classSOAPMessage-members.html
  classSOAPMsgContext.html
  classSOAPMsgContext-members.html
  classTransport.html
  classTransport-members.html
  classTransportFactory.html
  classTransportFactory-members.html
  classTypeMappingRegistry.html
  classTypeMappingRegistry-members.html
  classUrl.html
  classUrl-members.html
  classXMLDeSerializer.html
  classXMLDeSerializer-members.html
  classXMLFormatTarget.html
  classXMLSerializer.html
  classXMLSerializer-members.html
  classax_1_1XMLType.html
  classax_1_1XMLType-members.html
  classXmlWriter.html
  todo.html
  namespaces.html
  namespace__ax.html
  globals.html
  namespacemembers.html
  pages.html
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/index.html
  
  Index: index.html
  ===================================================================
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Axis C++ Client Library</title></head>
  <frameset cols="250,*">
    <frame src="tree.html" name="treefrm">
    <frame src="main.html" name="basefrm">
  </frameset>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/main.html
  
  Index: main.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Main Page</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Documentation</h1>
  <p>
  <h3 align="center">Alpha 0.1 Version</h3><html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/namespace__ax.html
  
  Index: namespace__ax.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>ax Namespace Reference</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>ax Namespace Reference</h1>
  <p>
  <table border=0 cellpadding=0 cellspacing=0>
  <tr><td colspan=2><br><h2>Compounds</h2></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classax_1_1QName.html">ax::QName</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Qualified name based on "Namespaces in XML" specification.</em> <a href="classax_1_1QName.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classax_1_1XMLType.html">ax::XMLType</a></td></tr>
  <tr><td>&nbsp;</td><td><font size=-1><em>Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name.</em> <a href="classax_1_1XMLType.html#_details">More...</a><em></em></font><br><br></td></tr>
  <tr><td colspan=2><br><h2>Functions</h2></td></tr>
  <tr><td nowrap align=right valign=top>template&lt;&gt; <a class="el" href="classax_1_1QName.html">QName</a>*&nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html#a41">XMLType&lt; std::string &gt;::GetType</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>template&lt;&gt; <a class="el" href="classax_1_1QName.html">QName</a>*&nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html#a42">XMLType&lt; const std::string &gt;::GetType</a> ()</td></tr>
  <tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="namespace__ax.html#a43">operator&lt;</a> (const <a class="el" href="classax_1_1QName.html">QName</a> &amp;left, const <a class="el" href="classax_1_1QName.html">QName</a> &amp;right)</td></tr>
  </table>
  <hr><h2>Function Documentation</h2>
  <a name="a42" doxytag="ax::XMLType< const std::string >::GetType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">QName</a>* <a class="el" href="classax_1_1XMLType.html">XMLType</a>&lt; const std::string &gt;::GetType (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLType_8cpp-source.html#l00131">131</a> of file <a class="el" href="XMLType_8cpp-source.html">XMLType.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a41" doxytag="ax::XMLType< std::string >::GetType"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td colspan="2"><b>
  template&lt;&gt;           </b></td>
          </tr>
          <tr>
            <td nowrap valign="top"><b> 
  <a class="el" href="classax_1_1QName.html">QName</a>* <a class="el" href="classax_1_1XMLType.html">XMLType</a>&lt; std::string &gt;::GetType (
            </b></td>
            <td valign="bottom"><b>
  )
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  
  <p>
  Definition at line <a class="el" href="XMLType_8cpp-source.html#l00124">124</a> of file <a class="el" href="XMLType_8cpp-source.html">XMLType.cpp</a>.    </td>
    </tr>
  </table>
  <a name="a43" doxytag="ax::operator<"></a><p>
  <table width="100%" cellpadding="2" cellspacing="0" border="0">
    <tr>
      <td class="md">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td nowrap valign="top"><b> 
  bool ax::operator&lt; (
            </b></td>
            <td valign="bottom"><b>
  const <a class="el" href="classax_1_1QName.html">QName</a> &amp; <em>left</em>, 
            </b></td>
          </tr>
          <tr>
            <td></td>
            <td><b>
  const <a class="el" href="classax_1_1QName.html">QName</a> &amp; <em>right</em>&nbsp;)
            </b></td>
          </tr>
  
        </table>
      </td>
    </tr>
  </table>
  <table cellspacing=5 cellpadding=0 border=0>
    <tr>
      <td>
        &nbsp;
      </td>
      <td>
  
  <p>
  Storage stratergy in a std::map we need a get around for this. 
  <p>
  Definition at line <a class="el" href="QName_8cpp-source.html#l00163">163</a> of file <a class="el" href="QName_8cpp-source.html">QName.cpp</a>.    </td>
    </tr>
  </table>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/namespacemembers.html
  
  Index: namespacemembers.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Namespace Member Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Namespace Members</h1><center>
  <a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_x">x</a></center>
  
  <p>
  Here is a list of all namespace members with links to the namespace documentation for each member:<a name="index_o"><h3>- o -</h3></a>
  <ul>
  <li>operator&lt;()
  : <a class="el" href="namespace__ax.html#a43">ax</a></ul>
  <a name="index_x"><h3>- x -</h3></a>
  <ul>
  <li>XMLType&lt; const std::string &gt;::GetType()
  : <a class="el" href="namespace__ax.html#a42">ax</a><li>XMLType&lt; std::string &gt;::GetType()
  : <a class="el" href="namespace__ax.html#a41">ax</a></ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/namespaces.html
  
  Index: namespaces.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Namespace Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Namespace List</h1>Here is a list of all namespaces with brief descriptions:<ul>
  <li><a class="el" href="namespace__ax.html">ax</a> 
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/pages.html
  
  Index: pages.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Page Index</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><h1>Axis C++ Client Library Related Pages</h1>Here is a list of all related documentation pages:<ul>
  <li><a class="el" href="todo.html">Todo List</a>
  
  </ul>
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/todo.html
  
  Index: todo.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <html><head><meta name="robots" content="noindex">
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  <title>Todo List</title>
  <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head><body bgcolor="#ffffff">
  <!-- Generated by Doxygen 1.2.7 -->
  <center>
  <a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
  <hr><a name="todo"><h2>Todo List</h2></a>
  
  <dl compact>
  <dt><a name="_todo000002"></a>Class <a class="el" href="classCall.html">Call</a> <dd>Support for WSDL document (on the constructor to the Service object)
  </dl>
  
  <p>
  
  <dl compact>
  <dt><a name="_todo000001"></a>Member <a class="el" href="classCall.html#a5">Call::Invoke</a>() <dd>Manupulation of other return values;
  </dl>
   <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/tree.html
  
  Index: tree.html
  ===================================================================
  <html><head>
  <link rel="stylesheet" href="doxygen.css">
  <script src="treeview.js"></script>
  <script src="tree.js"></script>
  <script>
  initializeDocument()
  </script>
  </head>
  <body bgcolor="#ffffff">
  </body>
  </html>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/tree.js
  
  Index: tree.js
  ===================================================================
  foldersTree = gFld("<b>Axis C++ Client Library</b>", "", "")
       insDoc(foldersTree, gLnk("Main Page", "", "main.html"))
  aux1 = insFld(foldersTree, gFld("File List", "", "files.html"))
         insDoc(aux1, gLnk("AttList.hpp", "", "AttList_8hpp.html"))
         insDoc(aux1, gLnk("AxisConst.hpp", "", "AxisConst_8hpp.html"))
         insDoc(aux1, gLnk("AxisException.cpp", "", "AxisException_8cpp.html"))
         insDoc(aux1, gLnk("AxisException.hpp", "", "AxisException_8hpp.html"))
         insDoc(aux1, gLnk("Call.cpp", "", "Call_8cpp.html"))
         insDoc(aux1, gLnk("Call.hpp", "", "Call_8hpp.html"))
         insDoc(aux1, gLnk("Channel.cpp", "", "Channel_8cpp.html"))
         insDoc(aux1, gLnk("Channel.hpp", "", "Channel_8hpp.html"))
         insDoc(aux1, gLnk("HttpTransport.cpp", "", "HttpTransport_8cpp.html"))
         insDoc(aux1, gLnk("HttpTransport.hpp", "", "HttpTransport_8hpp.html"))
         insDoc(aux1, gLnk("MessageElement.cpp", "", "MessageElement_8cpp.html"))
         insDoc(aux1, gLnk("MessageElement.hpp", "", "MessageElement_8hpp.html"))
         insDoc(aux1, gLnk("NsStack.cpp", "", "NsStack_8cpp.html"))
         insDoc(aux1, gLnk("NsStack.hpp", "", "NsStack_8hpp.html"))
         insDoc(aux1, gLnk("Param.cpp", "", "Param_8cpp.html"))
         insDoc(aux1, gLnk("Param.hpp", "", "Param_8hpp.html"))
         insDoc(aux1, gLnk("Platform.cpp", "", "Platform_8cpp.html"))
         insDoc(aux1, gLnk("Platform.hpp", "", "Platform_8hpp.html"))
         insDoc(aux1, gLnk("QName.cpp", "", "QName_8cpp.html"))
         insDoc(aux1, gLnk("QName.hpp", "", "QName_8hpp.html"))
         insDoc(aux1, gLnk("Receiver.cpp", "", "Receiver_8cpp.html"))
         insDoc(aux1, gLnk("Receiver.hpp", "", "Receiver_8hpp.html"))
         insDoc(aux1, gLnk("RPCElement.cpp", "", "RPCElement_8cpp.html"))
         insDoc(aux1, gLnk("RPCElement.hpp", "", "RPCElement_8hpp.html"))
         insDoc(aux1, gLnk("RPCParam.cpp", "", "RPCParam_8cpp.html"))
         insDoc(aux1, gLnk("RPCParam.hpp", "", "RPCParam_8hpp.html"))
         insDoc(aux1, gLnk("Sender.cpp", "", "Sender_8cpp.html"))
         insDoc(aux1, gLnk("Sender.hpp", "", "Sender_8hpp.html"))
         insDoc(aux1, gLnk("SerializerFactory.hpp", "", "SerializerFactory_8hpp.html"))
         insDoc(aux1, gLnk("ServiceFactory.cpp", "", "ServiceFactory_8cpp.html"))
         insDoc(aux1, gLnk("ServiceFactory.hpp", "", "ServiceFactory_8hpp.html"))
         insDoc(aux1, gLnk("SOAPBodyElement.cpp", "", "SOAPBodyElement_8cpp.html"))
         insDoc(aux1, gLnk("SOAPBodyElement.hpp", "", "SOAPBodyElement_8hpp.html"))
         insDoc(aux1, gLnk("SOAPEncoding.cpp", "", "SOAPEncoding_8cpp.html"))
         insDoc(aux1, gLnk("SOAPEncoding.hpp", "", "SOAPEncoding_8hpp.html"))
         insDoc(aux1, gLnk("SOAPEnvelope.cpp", "", "SOAPEnvelope_8cpp.html"))
         insDoc(aux1, gLnk("SOAPEnvelope.hpp", "", "SOAPEnvelope_8hpp.html"))
         insDoc(aux1, gLnk("SOAPFaultElement.cpp", "", "SOAPFaultElement_8cpp.html"))
         insDoc(aux1, gLnk("SOAPFaultElement.hpp", "", "SOAPFaultElement_8hpp.html"))
         insDoc(aux1, gLnk("SOAPHeader.cpp", "", "SOAPHeader_8cpp.html"))
         insDoc(aux1, gLnk("SOAPHeader.hpp", "", "SOAPHeader_8hpp.html"))
         insDoc(aux1, gLnk("SOAPMessage.cpp", "", "SOAPMessage_8cpp.html"))
         insDoc(aux1, gLnk("SOAPMessage.hpp", "", "SOAPMessage_8hpp.html"))
         insDoc(aux1, gLnk("SOAPMsgContext.cpp", "", "SOAPMsgContext_8cpp.html"))
         insDoc(aux1, gLnk("SOAPMsgContext.hpp", "", "SOAPMsgContext_8hpp.html"))
         insDoc(aux1, gLnk("Transport.cpp", "", "Transport_8cpp.html"))
         insDoc(aux1, gLnk("Transport.hpp", "", "Transport_8hpp.html"))
         insDoc(aux1, gLnk("TransportFactory.cpp", "", "TransportFactory_8cpp.html"))
         insDoc(aux1, gLnk("TransportFactory.hpp", "", "TransportFactory_8hpp.html"))
         insDoc(aux1, gLnk("TypeMappingRegistry.cpp", "", "TypeMappingRegistry_8cpp.html"))
         insDoc(aux1, gLnk("TypeMappingRegistry.hpp", "", "TypeMappingRegistry_8hpp.html"))
         insDoc(aux1, gLnk("Url.cpp", "", "Url_8cpp.html"))
         insDoc(aux1, gLnk("Url.hpp", "", "Url_8hpp.html"))
         insDoc(aux1, gLnk("XercescConst.hpp", "", "XercescConst_8hpp.html"))
         insDoc(aux1, gLnk("XMLDeSerializer.cpp", "", "XMLDeSerializer_8cpp.html"))
         insDoc(aux1, gLnk("XMLDeSerializer.hpp", "", "XMLDeSerializer_8hpp.html"))
         insDoc(aux1, gLnk("XMLSerializer.cpp", "", "XMLSerializer_8cpp.html"))
         insDoc(aux1, gLnk("XMLSerializer.hpp", "", "XMLSerializer_8hpp.html"))
         insDoc(aux1, gLnk("XMLType.cpp", "", "XMLType_8cpp.html"))
         insDoc(aux1, gLnk("XMLType.hpp", "", "XMLType_8hpp.html"))
         insDoc(aux1, gLnk("XmlWriter.hpp", "", "XmlWriter_8hpp.html"))
  aux1 = insFld(foldersTree, gFld("Compound List", "", "annotated.html"))
         insDoc(aux1, gLnk("AttList", "", "classAttList.html"))
         insDoc(aux1, gLnk("AxisException", "", "classAxisException.html"))
         insDoc(aux1, gLnk("AxisFault", "", "classAxisFault.html"))
         insDoc(aux1, gLnk("Call", "", "classCall.html"))
         insDoc(aux1, gLnk("Channel", "", "classChannel.html"))
         insDoc(aux1, gLnk("ChannelException", "", "classChannelException.html"))
         insDoc(aux1, gLnk("ErrorHandler", "", "classErrorHandler.html"))
         insDoc(aux1, gLnk("HttpTransport", "", "classHttpTransport.html"))
         insDoc(aux1, gLnk("MessageElement", "", "classMessageElement.html"))
         insDoc(aux1, gLnk("NsMap", "", "classNsMap.html"))
         insDoc(aux1, gLnk("NsMap_t", "", "classNsMap__t.html"))
         insDoc(aux1, gLnk("NsStack", "", "classNsStack.html"))
         insDoc(aux1, gLnk("std::ostringstream", "", "classstd_1_1ostringstream.html"))
         insDoc(aux1, gLnk("Param", "", "classParam.html"))
         insDoc(aux1, gLnk("ParseErrorHandler", "", "classParseErrorHandler.html"))
         insDoc(aux1, gLnk("ax::QName", "", "classax_1_1QName.html"))
         insDoc(aux1, gLnk("Receiver", "", "classReceiver.html"))
         insDoc(aux1, gLnk("RPCElement", "", "classRPCElement.html"))
         insDoc(aux1, gLnk("RPCParam", "", "classRPCParam.html"))
         insDoc(aux1, gLnk("Sender", "", "classSender.html"))
         insDoc(aux1, gLnk("SerializerFactory", "", "classSerializerFactory.html"))
         insDoc(aux1, gLnk("ServiceFactory", "", "classServiceFactory.html"))
         insDoc(aux1, gLnk("SOAPBodyElement", "", "classSOAPBodyElement.html"))
         insDoc(aux1, gLnk("SOAPEncoding", "", "classSOAPEncoding.html"))
         insDoc(aux1, gLnk("SOAPEnvelope", "", "classSOAPEnvelope.html"))
         insDoc(aux1, gLnk("SOAPEnvelopFormatter", "", "classSOAPEnvelopFormatter.html"))
         insDoc(aux1, gLnk("SOAPFaultElement", "", "classSOAPFaultElement.html"))
         insDoc(aux1, gLnk("SOAPHeader", "", "classSOAPHeader.html"))
         insDoc(aux1, gLnk("SOAPMessage", "", "classSOAPMessage.html"))
         insDoc(aux1, gLnk("SOAPMsgContext", "", "classSOAPMsgContext.html"))
         insDoc(aux1, gLnk("Transport", "", "classTransport.html"))
         insDoc(aux1, gLnk("TransportFactory", "", "classTransportFactory.html"))
         insDoc(aux1, gLnk("TypeMappingRegistry", "", "classTypeMappingRegistry.html"))
         insDoc(aux1, gLnk("Url", "", "classUrl.html"))
         insDoc(aux1, gLnk("XMLDeSerializer", "", "classXMLDeSerializer.html"))
         insDoc(aux1, gLnk("XMLFormatTarget", "", "classXMLFormatTarget.html"))
         insDoc(aux1, gLnk("XMLSerializer", "", "classXMLSerializer.html"))
         insDoc(aux1, gLnk("ax::XMLType", "", "classax_1_1XMLType.html"))
         insDoc(aux1, gLnk("XmlWriter", "", "classXmlWriter.html"))
  aux1 = insFld(foldersTree, gFld("Class Hierarchy", "", "hierarchy.html"))
         insDoc(aux1, gLnk("AttList", "", "classAttList.html"))
    aux2 = insFld(aux1, gFld("AxisException", "", "classAxisException.html"))
           insDoc(aux2, gLnk("AxisFault", "", "classAxisFault.html"))
         insDoc(aux1, gLnk("Call", "", "classCall.html"))
         insDoc(aux1, gLnk("Channel", "", "classChannel.html"))
         insDoc(aux1, gLnk("ChannelException", "", "classChannelException.html"))
    aux2 = insFld(aux1, gFld("ErrorHandler", "", "classErrorHandler.html"))
           insDoc(aux2, gLnk("ParseErrorHandler", "", "classParseErrorHandler.html"))
    aux2 = insFld(aux1, gFld("MessageElement", "", "classMessageElement.html"))
           insDoc(aux2, gLnk("RPCElement", "", "classRPCElement.html"))
           insDoc(aux2, gLnk("SOAPBodyElement", "", "classSOAPBodyElement.html"))
           insDoc(aux2, gLnk("SOAPEnvelope", "", "classSOAPEnvelope.html"))
           insDoc(aux2, gLnk("SOAPFaultElement", "", "classSOAPFaultElement.html"))
           insDoc(aux2, gLnk("SOAPHeader", "", "classSOAPHeader.html"))
    aux2 = insFld(aux1, gFld("NsMap_t", "", "classNsMap__t.html"))
           insDoc(aux2, gLnk("NsMap", "", "classNsMap.html"))
         insDoc(aux1, gLnk("NsStack", "", "classNsStack.html"))
    aux2 = insFld(aux1, gFld("std::ostringstream", "", "classstd_1_1ostringstream.html"))
           insDoc(aux2, gLnk("XmlWriter", "", "classXmlWriter.html"))
         insDoc(aux1, gLnk("Param", "", "classParam.html"))
         insDoc(aux1, gLnk("ax::QName", "", "classax_1_1QName.html"))
         insDoc(aux1, gLnk("Receiver", "", "classReceiver.html"))
         insDoc(aux1, gLnk("RPCParam", "", "classRPCParam.html"))
         insDoc(aux1, gLnk("Sender", "", "classSender.html"))
    aux2 = insFld(aux1, gFld("SerializerFactory", "", "classSerializerFactory.html"))
           insDoc(aux2, gLnk("SOAPEncoding", "", "classSOAPEncoding.html"))
         insDoc(aux1, gLnk("ServiceFactory", "", "classServiceFactory.html"))
         insDoc(aux1, gLnk("SOAPMessage", "", "classSOAPMessage.html"))
         insDoc(aux1, gLnk("SOAPMsgContext", "", "classSOAPMsgContext.html"))
    aux2 = insFld(aux1, gFld("Transport", "", "classTransport.html"))
           insDoc(aux2, gLnk("HttpTransport", "", "classHttpTransport.html"))
         insDoc(aux1, gLnk("TransportFactory", "", "classTransportFactory.html"))
         insDoc(aux1, gLnk("TypeMappingRegistry", "", "classTypeMappingRegistry.html"))
         insDoc(aux1, gLnk("Url", "", "classUrl.html"))
         insDoc(aux1, gLnk("XMLDeSerializer", "", "classXMLDeSerializer.html"))
    aux2 = insFld(aux1, gFld("XMLFormatTarget", "", "classXMLFormatTarget.html"))
           insDoc(aux2, gLnk("SOAPEnvelopFormatter", "", "classSOAPEnvelopFormatter.html"))
         insDoc(aux1, gLnk("XMLSerializer", "", "classXMLSerializer.html"))
         insDoc(aux1, gLnk("ax::XMLType", "", "classax_1_1XMLType.html"))
       insDoc(foldersTree, gLnk("Compound Members", "", "functions.html"))
  aux1 = insFld(foldersTree, gFld("Namespace List", "", "namespaces.html"))
         insDoc(aux1, gLnk("ax", "", "namespace__ax.html"))
       insDoc(foldersTree, gLnk("File Members", "", "globals.html"))
       insDoc(foldersTree, gLnk("Namespace Members", "", "namespacemembers.html"))
  aux1 = insFld(foldersTree, gFld("Related Pages", "", "pages.html"))
         insDoc(aux1, gLnk("Todo List", "", "todo.html"))
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/docs/ApiDocs/treeview.js
  
  Index: treeview.js
  ===================================================================
  //**************************************************************** 
  // You are free to copy the "Folder-Tree" script as long as you  
  // keep this copyright notice: 
  // Script found in: http://www.geocities.com/Paris/LeftBank/2178/ 
  // Author: Marcelino Alves Martins (martins@hks.com) December '97. 
  //**************************************************************** 
   
  //Log of changes: 
  //       17 Feb 98 - Fix initialization flashing problem with Netscape
  //       
  //       27 Jan 98 - Root folder starts open; support for USETEXTLINKS; 
  //                   make the ftien4 a js file 
  //       
  // DvH:  Dec 2000 -  Made some minor changes to support external 
  //                   references
   
  // Definition of class Folder 
  // ***************************************************************** 
   
  function Folder(folderDescription, tagName, hreference) //constructor 
  { 
    //constant data 
    this.desc = folderDescription 
    this.tagName = tagName
    this.hreference = hreference 
    this.id = -1   
    this.navObj = 0  
    this.iconImg = 0  
    this.nodeImg = 0  
    this.isLastNode = 0 
   
    //dynamic data 
    this.isOpen = true 
    this.iconSrc = "ftv2folderopen.gif"   
    this.children = new Array 
    this.nChildren = 0 
   
    //methods 
    this.initialize = initializeFolder 
    this.setState = setStateFolder 
    this.addChild = addChild 
    this.createIndex = createEntryIndex 
    this.hide = hideFolder 
    this.display = display 
    this.renderOb = drawFolder 
    this.totalHeight = totalHeight 
    this.subEntries = folderSubEntries 
    this.outputLink = outputFolderLink 
  } 
   
  function setStateFolder(isOpen) 
  { 
    var subEntries 
    var totalHeight 
    var fIt = 0 
    var i=0 
   
    if (isOpen == this.isOpen) 
      return 
   
    if (browserVersion == 2)  
    { 
      totalHeight = 0 
      for (i=0; i < this.nChildren; i++) 
        totalHeight = totalHeight + this.children[i].navObj.clip.height 
        subEntries = this.subEntries() 
      if (this.isOpen) 
        totalHeight = 0 - totalHeight 
      for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) 
        indexOfEntries[fIt].navObj.moveBy(0, totalHeight) 
    }  
    this.isOpen = isOpen 
    propagateChangesInState(this) 
  } 
   
  function propagateChangesInState(folder) 
  {   
    var i=0 
   
    if (folder.isOpen) 
    { 
      if (folder.nodeImg) 
        if (folder.isLastNode) 
          folder.nodeImg.src = "ftv2mlastnode.gif" 
        else 
  	  folder.nodeImg.src = "ftv2mnode.gif" 
      folder.iconImg.src = "ftv2folderopen.gif" 
      for (i=0; i<folder.nChildren; i++) 
        folder.children[i].display() 
    } 
    else 
    { 
      if (folder.nodeImg) 
        if (folder.isLastNode) 
          folder.nodeImg.src = "ftv2plastnode.gif" 
        else 
  	  folder.nodeImg.src = "ftv2pnode.gif" 
      folder.iconImg.src = "ftv2folderclosed.gif" 
      for (i=0; i<folder.nChildren; i++) 
        folder.children[i].hide() 
    }  
  } 
   
  function hideFolder() 
  { 
    if (browserVersion == 1 || browserVersion == 3) { 
      if (this.navObj.style.display == "none") 
        return 
      this.navObj.style.display = "none" 
    } else { 
      if (this.navObj.visibility == "hidden") 
        return 
      this.navObj.visibility = "hidden" 
    } 
     
    this.setState(0) 
  } 
   
  function initializeFolder(level, lastNode, leftSide) 
  { 
  var j=0 
  var i=0 
  var numberOfFolders 
  var numberOfDocs 
  var nc 
        
    nc = this.nChildren 
     
    this.createIndex() 
   
    var auxEv = "" 
   
    if (browserVersion > 0) 
      auxEv = "<a href='javascript:clickOnNode("+this.id+")'>" 
    else 
      auxEv = "<a>" 
   
    if (level>0) 
      if (lastNode) //the last 'brother' in the children array 
      { 
        this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>") 
        leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  
        this.isLastNode = 1 
      } 
      else 
      { 
        this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.gif' width=16 height=22 border=0></a>") 
        leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 
        this.isLastNode = 0 
      } 
    else 
      this.renderOb("") 
     
    if (nc > 0) 
    { 
      level = level + 1 
      for (i=0 ; i < this.nChildren; i++)  
      { 
        if (i == this.nChildren-1) 
          this.children[i].initialize(level, 1, leftSide) 
        else 
          this.children[i].initialize(level, 0, leftSide) 
        } 
    } 
  } 
   
  function drawFolder(leftSide) 
  { 
    if (browserVersion == 2) { 
      if (!doc.yPos) 
        doc.yPos=8 
      doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>") 
    } 
    if (browserVersion == 3) 
      doc.write("<div id='folder" + this.id + "' style='display:none;'>") 
     
    doc.write("\n<table ") 
    if (browserVersion == 1) 
      doc.write(" id='folder" + this.id + "' style='position:block;' ") 
    doc.write(" border=0 cellspacing=0 cellpadding=0>") 
    doc.write("\n<tr><td>") 
    doc.write(leftSide) 
    this.outputLink() 
    doc.write("<img name='folderIcon" + this.id + "' ") 
    doc.write("src='" + this.iconSrc+"' border=0></a>") 
    doc.write("</td>\n<td valign=middle nowrap>") 
    if (USETEXTLINKS) 
    { 
      this.outputLink() 
      doc.write(this.desc + "</a>") 
    } 
    else 
      doc.write(this.desc) 
    if (this.tagName!="")
    {
      doc.write(" [external]")
    }
    doc.write("</td>")  
    doc.write("\n</table>\n") 
     
    if (browserVersion == 2) { 
      doc.write("</layer>") 
    } 
    if (browserVersion == 3) { 
      doc.write("</div>") 
    } 
   
    if (browserVersion == 1) { 
      this.navObj = doc.all["folder"+this.id] 
      this.iconImg = doc.all["folderIcon"+this.id] 
      this.nodeImg = doc.all["nodeIcon"+this.id] 
    } else if (browserVersion == 2) { 
      this.navObj = doc.layers["folder"+this.id] 
      this.iconImg = this.navObj.document.images["folderIcon"+this.id] 
      this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] 
      doc.yPos=doc.yPos+this.navObj.clip.height 
    } else if (browserVersion == 3) {
      this.navObj = doc.getElementById("folder"+this.id)
      this.iconImg = doc.images.namedItem("folderIcon"+this.id)
      this.nodeImg = doc.images.namedItem("nodeIcon"+this.id)
    }
  } 
   
  function outputFolderLink() 
  { 
    if (this.hreference) 
    { 
      doc.write("<a ")
      if (this.tagName)
      {
        doc.write("doxygen='" + this.tagName + "' ");
      }
      doc.write("href='" + this.hreference + "' TARGET=\"basefrm\" ") 
      if (browserVersion > 0) 
        doc.write("onClick='javascript:clickOnFolder("+this.id+")'") 
      doc.write(">") 
    } 
    else 
      doc.write("<a>") 
  } 
   
  function addChild(childNode) 
  { 
    this.children[this.nChildren] = childNode 
    this.nChildren++ 
    return childNode 
  } 
   
  function folderSubEntries() 
  { 
    var i = 0 
    var se = this.nChildren 
   
    for (i=0; i < this.nChildren; i++){ 
      if (this.children[i].children) //is a folder 
        se = se + this.children[i].subEntries() 
    } 
   
    return se 
  } 
   
   
  // Definition of class Item (a document or link inside a Folder) 
  // ************************************************************* 
   
  function Item(itemDescription, tagName, itemLink) // Constructor 
  { 
    // constant data 
    this.desc = itemDescription 
    this.tagName = tagName
    this.link = itemLink 
    this.id = -1 //initialized in initalize() 
    this.navObj = 0 //initialized in render() 
    this.iconImg = 0 //initialized in render() 
    this.iconSrc = "ftv2doc.gif" 
   
    // methods 
    this.initialize = initializeItem 
    this.createIndex = createEntryIndex 
    this.hide = hideItem 
    this.display = display 
    this.renderOb = drawItem 
    this.totalHeight = totalHeight 
  } 
   
  function hideItem() 
  { 
    if (browserVersion == 1 || browserVersion == 3) { 
      if (this.navObj.style.display == "none") 
        return 
      this.navObj.style.display = "none" 
    } else { 
      if (this.navObj.visibility == "hidden") 
        return 
      this.navObj.visibility = "hidden" 
    }     
  } 
   
  function initializeItem(level, lastNode, leftSide) 
  {  
    this.createIndex() 
   
    if (level>0) 
      if (lastNode) //the last 'brother' in the children array 
      { 
        this.renderOb(leftSide + "<img src='ftv2lastnode.gif' width=16 height=22>") 
        leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"  
      } 
      else 
      { 
        this.renderOb(leftSide + "<img src='ftv2node.gif' width=16 height=22>") 
        leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>" 
      } 
    else 
      this.renderOb("")   
  } 
   
  function drawItem(leftSide) 
  { 
    if (browserVersion == 2) 
      doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>") 
    if (browserVersion == 3) 
      doc.write("<div id='item" + this.id + "' style='display:block;'>") 
       
    doc.write("\n<table ") 
    if (browserVersion == 1) 
      doc.write(" id='item" + this.id + "' style='position:block;' ") 
    doc.write(" border=0 cellspacing=0 cellpadding=0>\n") 
    doc.write("<tr><td>") 
    doc.write(leftSide) 
    if (this.link!="")
    {
      doc.write("<a href=" + this.link + ">") 
    }
    doc.write("<img id='itemIcon"+this.id+"' ") 
    doc.write("src='"+this.iconSrc+"' border=0>") 
    if (this.link!="")
    {
      doc.write("</a>")
    } 
    doc.write("</td>\n<td valign=middle nowrap>") 
    if (USETEXTLINKS && this.link!="") 
      doc.write("<a href=" + this.link + ">" + this.desc + "</a>") 
    else 
      doc.write(this.desc) 
    if (this.tagName!="")
    {
      doc.write(" [external]");
    }
    doc.write("\n</table>\n") 
     
    if (browserVersion == 2) 
      doc.write("</layer>") 
    if (browserVersion == 3) 
      doc.write("</div>")
   
    if (browserVersion == 1) { 
      this.navObj = doc.all["item"+this.id] 
      this.iconImg = doc.all["itemIcon"+this.id] 
    } else if (browserVersion == 2) { 
      this.navObj = doc.layers["item"+this.id] 
      this.iconImg = this.navObj.document.images["itemIcon"+this.id] 
      doc.yPos=doc.yPos+this.navObj.clip.height 
    } else if (browserVersion == 3) {
      this.navObj = doc.getElementById("item"+this.id)
      this.iconImg = doc.images.namedItem("itemIcon"+this.id)
    }
  } 
   
   
  // Methods common to both objects (pseudo-inheritance) 
  // ******************************************************** 
   
  function display() 
  { 
    if (browserVersion == 1 || browserVersion == 3) 
      this.navObj.style.display = "block" 
    else 
      this.navObj.visibility = "show" 
  } 
   
  function createEntryIndex() 
  { 
    this.id = nEntries 
    indexOfEntries[nEntries] = this 
    nEntries++ 
  } 
   
  // total height of subEntries open 
  function totalHeight() //used with browserVersion == 2 
  { 
    var h = this.navObj.clip.height 
    var i = 0 
     
    if (this.isOpen) //is a folder and _is_ open 
      for (i=0 ; i < this.nChildren; i++)  
        h = h + this.children[i].totalHeight() 
   
    return h 
  } 
   
   
  // Events 
  // ********************************************************* 
   
  function clickOnFolder(folderId) 
  { 
    var clicked = indexOfEntries[folderId] 
   
    if (!clicked.isOpen) 
      clickOnNode(folderId) 
   
    return  
   
    if (clicked.isSelected) 
      return 
  } 
   
  function clickOnNode(folderId) 
  { 
    var clickedFolder = 0 
    var state = 0 
   
    clickedFolder = indexOfEntries[folderId] 
    state = clickedFolder.isOpen 
   
    clickedFolder.setState(!state) //open<->close  
  } 
   
  function initializeDocument() 
  { 
    doc = document;
    if (doc.all) 
      browserVersion = 1 //IE4   
    else 
      if (doc.layers) 
        browserVersion = 2 //NS4 
      else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
          browserVersion = 3 //mozilla
        else 
          browserVersion = 0 //other 
  
    foldersTree.initialize(0, 1, "") 
    foldersTree.display()
    
    if (browserVersion > 0) 
    { 
      if(browserVersion != 3)
        doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>") 
   
      // close the whole tree 
      clickOnNode(0) 
      // open the root folder 
      clickOnNode(0) 
    } 
  } 
   
  // Auxiliary Functions for Folder-Treee backward compatibility 
  // ********************************************************* 
   
  function gFld(description, tagName, hreference) 
  { 
    folder = new Folder(description, tagName, hreference) 
    return folder 
  } 
   
  function gLnk(description, tagName, linkData) 
  { 
    fullLink = "" 
   
    if (linkData!="")
    {
      fullLink = "'"+linkData+"' target=\"basefrm\"" 
    } 
   
    linkItem = new Item(description, tagName, fullLink)   
    return linkItem 
  } 
   
  function insFld(parentFolder, childFolder) 
  { 
    return parentFolder.addChild(childFolder) 
  } 
   
  function insDoc(parentFolder, document) 
  { 
    parentFolder.addChild(document) 
  } 
   
  // Global variables 
  // **************** 
   
  USETEXTLINKS = 1
  indexOfEntries = new Array 
  nEntries = 0 
  doc = document 
  browserVersion = 0 
  selectedFolder=0
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/doxygen/AxisDoc.cfg
  
  Index: AxisDoc.cfg
  ===================================================================
  # Doxyfile 1.2.7
  
  # This file describes the settings to be used by doxygen for a project
  #
  # All text after a hash (#) is considered a comment and will be ignored
  # The format is:
  #       TAG = value [value, ...]
  # For lists items can also be appended using:
  #       TAG += value [value, ...]
  # Values that contain spaces should be placed between quotes (" ")
  
  #---------------------------------------------------------------------------
  # General configuration options
  #---------------------------------------------------------------------------
  
  # The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
  # by quotes) that should identify the project.
  
  PROJECT_NAME           = "Axis C++ Client Library"
  
  # The PROJECT_NUMBER tag can be used to enter a project or revision number. 
  # This could be handy for archiving the generated documentation or 
  # if some version control system is used.
  
  PROJECT_NUMBER         = "Alpha 0.1 Version"
  
  # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
  # base path where the generated documentation will be put. 
  # If a relative path is entered, it will be relative to the location 
  # where doxygen was started. If left blank the current directory will be used.
  
  OUTPUT_DIRECTORY       = ..
  
  # The OUTPUT_LANGUAGE tag is used to specify the language in which all 
  # documentation generated by doxygen is written. Doxygen will use this 
  # information to generate all constant output in the proper language. 
  # The default language is English, other supported languages are: 
  # Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, 
  # Korean, Hungarian, Norwegian, Spanish, Romanian, Russian, Croatian, 
  # Polish, Portuguese, Brazilian and Slovene.
  
  OUTPUT_LANGUAGE        = English
  
  # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
  # documentation are documented, even if no documentation was available. 
  # Private class members and static file members will be hidden unless 
  # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
  
  EXTRACT_ALL            = YES
  
  # If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
  # will be included in the documentation.
  
  EXTRACT_PRIVATE        = YES
  
  # If the EXTRACT_STATIC tag is set to YES all static members of a file 
  # will be included in the documentation.
  
  EXTRACT_STATIC         = NO
  
  # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
  # undocumented members of documented classes, files or namespaces. 
  # If set to NO (the default) these members will be included in the 
  # various overviews, but no documentation section is generated. 
  # This option has no effect if EXTRACT_ALL is enabled.
  
  HIDE_UNDOC_MEMBERS     = NO
  
  # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
  # undocumented classes that are normally visible in the class hierarchy. 
  # If set to NO (the default) these class will be included in the various 
  # overviews. This option has no effect if EXTRACT_ALL is enabled.
  
  HIDE_UNDOC_CLASSES     = NO
  
  # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
  # include brief member descriptions after the members that are listed in 
  # the file and class documentation (similar to JavaDoc). 
  # Set to NO to disable this.
  
  BRIEF_MEMBER_DESC      = YES
  
  # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
  # the brief description of a member or function before the detailed description. 
  # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
  # brief descriptions will be completely suppressed.
  
  REPEAT_BRIEF           = YES
  
  # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
  # Doxygen will generate a detailed section even if there is only a brief 
  # description.
  
  ALWAYS_DETAILED_SEC    = NO
  
  # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
  # path before files name in the file list and in the header files. If set 
  # to NO the shortest path that makes the file name unique will be used.
  
  FULL_PATH_NAMES        = NO
  
  # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
  # can be used to strip a user defined part of the path. Stripping is 
  # only done if one of the specified strings matches the left-hand part of 
  # the path. It is allowed to use relative paths in the argument list.
  
  STRIP_FROM_PATH        = 
  
  # The INTERNAL_DOCS tag determines if documentation 
  # that is typed after a \internal command is included. If the tag is set 
  # to NO (the default) then the documentation will be excluded. 
  # Set it to YES to include the internal documentation.
  
  INTERNAL_DOCS          = NO
  
  # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
  # generate a class diagram (in Html and LaTeX) for classes with base or 
  # super classes. Setting the tag to NO turns the diagrams off.
  
  CLASS_DIAGRAMS         = YES
  
  # If the SOURCE_BROWSER tag is set to YES then a list of source files will 
  # be generated. Documented entities will be cross-referenced with these sources.
  
  SOURCE_BROWSER         = YES
  
  # Setting the INLINE_SOURCES tag to YES will include the body 
  # of functions and classes directly in the documentation.
  
  INLINE_SOURCES         = NO
  
  # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
  # doxygen to hide any special comment blocks from generated source code 
  # fragments. Normal C and C++ comments will always remain visible.
  
  STRIP_CODE_COMMENTS    = YES
  
  # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
  # file names in lower case letters. If set to YES upper case letters are also 
  # allowed. This is useful if you have classes or files whose names only differ 
  # in case and if your file system supports case sensitive file names. Windows 
  # users are adviced to set this option to NO.
  
  CASE_SENSE_NAMES       = YES
  
  # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
  # (but less readable) file names. This can be useful is your file systems 
  # doesn't support long names like on DOS, Mac, or CD-ROM.
  
  SHORT_NAMES            = NO
  
  # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
  # will show members with their full class and namespace scopes in the 
  # documentation. If set to YES the scope will be hidden.
  
  HIDE_SCOPE_NAMES       = NO
  
  # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
  # will generate a verbatim copy of the header file for each class for 
  # which an include is specified. Set to NO to disable this.
  
  VERBATIM_HEADERS       = YES
  
  # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
  # will put list of the files that are included by a file in the documentation 
  # of that file.
  
  SHOW_INCLUDE_FILES     = YES
  
  # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
  # will interpret the first line (until the first dot) of a JavaDoc-style 
  # comment as the brief description. If set to NO, the JavaDoc 
  # comments  will behave just like the Qt-style comments (thus requiring an 
  # explict @brief command for a brief description.
  
  JAVADOC_AUTOBRIEF      = NO
  
  # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
  # member inherits the documentation from any documented member that it 
  # reimplements.
  
  INHERIT_DOCS           = YES
  
  # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
  # is inserted in the documentation for inline members.
  
  INLINE_INFO            = YES
  
  # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
  # will sort the (detailed) documentation of file and class members 
  # alphabetically by member name. If set to NO the members will appear in 
  # declaration order.
  
  SORT_MEMBER_DOCS       = YES
  
  # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
  # tag is set to YES, then doxygen will reuse the documentation of the first 
  # member in the group (if any) for the other members of the group. By default 
  # all members of a group must be documented explicitly.
  
  DISTRIBUTE_GROUP_DOC   = NO
  
  # The TAB_SIZE tag can be used to set the number of spaces in a tab. 
  # Doxygen uses this value to replace tabs by spaces in code fragments.
  
  TAB_SIZE               = 4
  
  # The ENABLED_SECTIONS tag can be used to enable conditional 
  # documentation sections, marked by \if sectionname ... \endif.
  
  ENABLED_SECTIONS       = 
  
  # The GENERATE_TODOLIST tag can be used to enable (YES) or 
  # disable (NO) the todo list. This list is created by putting \todo 
  # commands in the documentation.
  
  GENERATE_TODOLIST      = YES
  
  # The GENERATE_TESTLIST tag can be used to enable (YES) or 
  # disable (NO) the test list. This list is created by putting \test 
  # commands in the documentation.
  
  GENERATE_TESTLIST      = YES
  
  # The GENERATE_BUGLIST tag can be used to enable (YES) or 
  # disable (NO) the bug list. This list is created by putting \bug 
  # commands in the documentation.
  
  GENERATE_BUGLIST       = YES
  
  # This tag can be used to specify a number of aliases that acts 
  # as commands in the documentation. An alias has the form "name=value". 
  # For example adding "sideeffect=\par Side Effects:\n" will allow you to 
  # put the command \sideeffect (or @sideeffect) in the documentation, which 
  # will result in a user defined paragraph with heading "Side Effects:". 
  # You can put \n's in the value part of an alias to insert newlines.
  
  ALIASES                = 
  
  # The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
  # the initial value of a variable or define consist of for it to appear in 
  # the documentation. If the initializer consists of more lines than specified 
  # here it will be hidden. Use a value of 0 to hide initializers completely. 
  # The appearance of the initializer of individual variables and defines in the 
  # documentation can be controlled using \showinitializer or \hideinitializer 
  # command in the documentation regardless of this setting.
  
  MAX_INITIALIZER_LINES  = 30
  
  # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
  # only. Doxygen will then generate output that is more tailored for C. 
  # For instance some of the names that are used will be different. The list 
  # of all members will be omitted, etc.
  
  OPTIMIZE_OUTPUT_FOR_C  = NO
  
  # Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
  # at the bottom of the documentation of classes and structs. If set to YES the 
  # list will mention the files that were used to generate the documentation.
  
  SHOW_USED_FILES        = YES
  
  #---------------------------------------------------------------------------
  # configuration options related to warning and progress messages
  #---------------------------------------------------------------------------
  
  # The QUIET tag can be used to turn on/off the messages that are generated 
  # by doxygen. Possible values are YES and NO. If left blank NO is used.
  
  QUIET                  = NO
  
  # The WARNINGS tag can be used to turn on/off the warning messages that are 
  # generated by doxygen. Possible values are YES and NO. If left blank 
  # NO is used.
  
  WARNINGS               = YES
  
  # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
  # for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
  # automatically be disabled.
  
  WARN_IF_UNDOCUMENTED   = YES
  
  # The WARN_FORMAT tag determines the format of the warning messages that 
  # doxygen can produce. The string should contain the $file, $line, and $text 
  # tags, which will be replaced by the file and line number from which the 
  # warning originated and the warning text.
  
  WARN_FORMAT            = 
  
  # The WARN_LOGFILE tag can be used to specify a file to which warning 
  # and error messages should be written. If left blank the output is written 
  # to stderr.
  
  WARN_LOGFILE           = 
  
  #---------------------------------------------------------------------------
  # configuration options related to the input files
  #---------------------------------------------------------------------------
  
  # The INPUT tag can be used to specify the files and/or directories that contain 
  # documented source files. You may enter file names like "myfile.cpp" or 
  # directories like "/usr/src/myproject". Separate the files or directories 
  # with spaces.
  
  INPUT                  = ../src
  
  # If the value of the INPUT tag contains directories, you can use the 
  # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
  # and *.h) to filter out the source-files in the directories. If left 
  # blank all files are included.
  
  FILE_PATTERNS          = *.cpp *.hpp *.h
  
  # The RECURSIVE tag can be used to turn specify whether or not subdirectories 
  # should be searched for input files as well. Possible values are YES and NO. 
  # If left blank NO is used.
  
  RECURSIVE              = YES
  
  # The EXCLUDE tag can be used to specify files and/or directories that should 
  # excluded from the INPUT source files. This way you can easily exclude a 
  # subdirectory from a directory tree whose root is specified with the INPUT tag.
  
  EXCLUDE                = 
  
  # If the value of the INPUT tag contains directories, you can use the 
  # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
  # certain files from those directories.
  
  EXCLUDE_PATTERNS       = 
  
  # The EXAMPLE_PATH tag can be used to specify one or more files or 
  # directories that contain example code fragments that are included (see 
  # the \include command).
  
  EXAMPLE_PATH           = 
  
  # If the value of the EXAMPLE_PATH tag contains directories, you can use the 
  # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
  # and *.h) to filter out the source-files in the directories. If left 
  # blank all files are included.
  
  EXAMPLE_PATTERNS       = 
  
  # The IMAGE_PATH tag can be used to specify one or more files or 
  # directories that contain image that are included in the documentation (see 
  # the \image command).
  
  IMAGE_PATH             = 
  
  # The INPUT_FILTER tag can be used to specify a program that doxygen should 
  # invoke to filter for each input file. Doxygen will invoke the filter program 
  # by executing (via popen()) the command <filter> <input-file>, where <filter> 
  # is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
  # input file. Doxygen will then use the output that the filter program writes 
  # to standard output.
  
  INPUT_FILTER           = 
  
  # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
  # INPUT_FILTER) will be used to filter the input files when producing source 
  # files to browse.
  
  FILTER_SOURCE_FILES    = NO
  
  #---------------------------------------------------------------------------
  # configuration options related to the alphabetical class index
  #---------------------------------------------------------------------------
  
  # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
  # of all compounds will be generated. Enable this if the project 
  # contains a lot of classes, structs, unions or interfaces.
  
  ALPHABETICAL_INDEX     = YES
  
  # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
  # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
  # in which this list will be split (can be a number in the range [1..20])
  
  COLS_IN_ALPHA_INDEX    = 5
  
  # In case all classes in a project start with a common prefix, all 
  # classes will be put under the same header in the alphabetical index. 
  # The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
  # should be ignored while generating the index headers.
  
  IGNORE_PREFIX          = 
  
  #---------------------------------------------------------------------------
  # configuration options related to the HTML output
  #---------------------------------------------------------------------------
  
  # If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
  # generate HTML output.
  
  GENERATE_HTML          = YES
  
  # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
  # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  # put in front of it. If left blank `html' will be used as the default path.
  
  HTML_OUTPUT            = docs/ApiDocs
  
  # The HTML_HEADER tag can be used to specify a personal HTML header for 
  # each generated HTML page. If it is left blank doxygen will generate a 
  # standard header.
  
  HTML_HEADER            = 
  
  # The HTML_FOOTER tag can be used to specify a personal HTML footer for 
  # each generated HTML page. If it is left blank doxygen will generate a 
  # standard footer.
  
  HTML_FOOTER            = docFoot.html
  
  # The HTML_STYLESHEET tag can be used to specify a user defined cascading 
  # style sheet that is used by each HTML page. It can be used to 
  # fine-tune the look of the HTML output. If the tag is left blank doxygen 
  # will generate a default style sheet
  
  HTML_STYLESHEET        = 
  
  # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
  # files or namespaces will be aligned in HTML using tables. If set to 
  # NO a bullet list will be used.
  
  HTML_ALIGN_MEMBERS     = YES
  
  # If the GENERATE_HTMLHELP tag is set to YES, additional index files 
  # will be generated that can be used as input for tools like the 
  # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
  # of the generated HTML documentation.
  
  GENERATE_HTMLHELP      = YES
  
  # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
  # controls if a separate .chi index file is generated (YES) or that 
  # it should be included in the master .chm file (NO).
  
  GENERATE_CHI           = YES
  
  # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
  # controls whether a binary table of contents is generated (YES) or a 
  # normal table of contents (NO) in the .chm file.
  
  BINARY_TOC             = NO
  
  # The TOC_EXPAND flag can be set YES to add extra items for group members 
  # to the contents of the Html help documentation and to the tree view.
  
  TOC_EXPAND             = NO
  
  # The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
  # top of each HTML page. The value NO (the default) enables the index and 
  # the value YES disables it.
  
  DISABLE_INDEX          = NO
  
  # This tag can be used to set the number of enum values (range [1..20]) 
  # that doxygen will group on one line in the generated HTML documentation.
  
  ENUM_VALUES_PER_LINE   = 4
  
  # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
  # generated containing a tree-like index structure (just like the one that 
  # is generated for HTML Help). For this to work a browser that supports 
  # JavaScript and frames is required (for instance Netscape 4.0+ 
  # or Internet explorer 4.0+).
  
  GENERATE_TREEVIEW      = YES
  
  # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
  # used to set the initial width (in pixels) of the frame in which the tree 
  # is shown.
  
  TREEVIEW_WIDTH         = 250
  
  #---------------------------------------------------------------------------
  # configuration options related to the LaTeX output
  #---------------------------------------------------------------------------
  
  # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
  # generate Latex output.
  
  GENERATE_LATEX         = NO
  
  # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
  # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  # put in front of it. If left blank `latex' will be used as the default path.
  
  LATEX_OUTPUT           = 
  
  # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
  # LaTeX documents. This may be useful for small projects and may help to 
  # save some trees in general.
  
  COMPACT_LATEX          = NO
  
  # The PAPER_TYPE tag can be used to set the paper type that is used 
  # by the printer. Possible values are: a4, a4wide, letter, legal and 
  # executive. If left blank a4wide will be used.
  
  PAPER_TYPE             = a4wide
  
  # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
  # packages that should be included in the LaTeX output.
  
  EXTRA_PACKAGES         = 
  
  # The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
  # the generated latex document. The header should contain everything until 
  # the first chapter. If it is left blank doxygen will generate a 
  # standard header. Notice: only use this tag if you know what you are doing!
  
  LATEX_HEADER           = 
  
  # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
  # is prepared for conversion to pdf (using ps2pdf). The pdf file will 
  # contain links (just like the HTML output) instead of page references 
  # This makes the output suitable for online browsing using a pdf viewer.
  
  PDF_HYPERLINKS         = NO
  
  # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
  # plain latex in the generated Makefile. Set this option to YES to get a 
  # higher quality PDF documentation.
  
  USE_PDFLATEX           = NO
  
  # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
  # command to the generated LaTeX files. This will instruct LaTeX to keep 
  # running if errors occur, instead of asking the user for help. 
  # This option is also used when generating formulas in HTML.
  
  LATEX_BATCHMODE        = NO
  
  #---------------------------------------------------------------------------
  # configuration options related to the RTF output
  #---------------------------------------------------------------------------
  
  # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
  # The RTF output is optimised for Word 97 and may not look very pretty with 
  # other RTF readers or editors.
  
  GENERATE_RTF           = NO
  
  # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
  # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  # put in front of it. If left blank `rtf' will be used as the default path.
  
  RTF_OUTPUT             = 
  
  # If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
  # RTF documents. This may be useful for small projects and may help to 
  # save some trees in general.
  
  COMPACT_RTF            = NO
  
  # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
  # will contain hyperlink fields. The RTF file will 
  # contain links (just like the HTML output) instead of page references. 
  # This makes the output suitable for online browsing using a WORD or other. 
  # programs which support those fields. 
  # Note: wordpad (write) and others do not support links.
  
  RTF_HYPERLINKS         = NO
  
  # Load stylesheet definitions from file. Syntax is similar to doxygen's 
  # config file, i.e. a series of assigments. You only have to provide 
  # replacements, missing definitions are set to their default value.
  
  RTF_STYLESHEET_FILE    = 
  
  # Set optional variables used in the generation of an rtf document. 
  # Syntax is similar to doxygen's config file.
  
  RTF_EXTENSIONS_FILE    = 
  
  #---------------------------------------------------------------------------
  # configuration options related to the man page output
  #---------------------------------------------------------------------------
  
  # If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
  # generate man pages
  
  GENERATE_MAN           = NO
  
  # The MAN_OUTPUT tag is used to specify where the man pages will be put. 
  # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
  # put in front of it. If left blank `man' will be used as the default path.
  
  MAN_OUTPUT             = 
  
  # The MAN_EXTENSION tag determines the extension that is added to 
  # the generated man pages (default is the subroutine's section .3)
  
  MAN_EXTENSION          = 
  
  #---------------------------------------------------------------------------
  # Configuration options related to the preprocessor   
  #---------------------------------------------------------------------------
  
  # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
  # evaluate all C-preprocessor directives found in the sources and include 
  # files.
  
  ENABLE_PREPROCESSING   = YES
  
  # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
  # names in the source code. If set to NO (the default) only conditional 
  # compilation will be performed. Macro expansion can be done in a controlled 
  # way by setting EXPAND_ONLY_PREDEF to YES.
  
  MACRO_EXPANSION        = NO
  
  # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
  # then the macro expansion is limited to the macros specified with the 
  # PREDEFINED and EXPAND_AS_PREDEFINED tags.
  
  EXPAND_ONLY_PREDEF     = NO
  
  # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
  # in the INCLUDE_PATH (see below) will be search if a #include is found.
  
  SEARCH_INCLUDES        = YES
  
  # The INCLUDE_PATH tag can be used to specify one or more directories that 
  # contain include files that are not input files but should be processed by 
  # the preprocessor.
  
  INCLUDE_PATH           = 
  
  # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
  # patterns (like *.h and *.hpp) to filter out the header-files in the 
  # directories. If left blank, the patterns specified with FILE_PATTERNS will 
  # be used.
  
  INCLUDE_FILE_PATTERNS  = 
  
  # The PREDEFINED tag can be used to specify one or more macro names that 
  # are defined before the preprocessor is started (similar to the -D option of 
  # gcc). The argument of the tag is a list of macros of the form: name 
  # or name=definition (no spaces). If the definition and the = are 
  # omitted =1 is assumed.
  
  PREDEFINED             = 
  
  # If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
  # this tag can be used to specify a list of macro names that should be expanded. 
  # The macro definition that is found in the sources will be used. 
  # Use the PREDEFINED tag if you want to use a different macro definition.
  
  EXPAND_AS_DEFINED      = 
  
  #---------------------------------------------------------------------------
  # Configuration::addtions related to external references   
  #---------------------------------------------------------------------------
  
  # The TAGFILES tag can be used to specify one or more tagfiles.
  
  TAGFILES               = 
  
  # When a file name is specified after GENERATE_TAGFILE, doxygen will create 
  # a tag file that is based on the input files it reads.
  
  GENERATE_TAGFILE       = 
  
  # If the ALLEXTERNALS tag is set to YES all external classes will be listed 
  # in the class index. If set to NO only the inherited external classes 
  # will be listed.
  
  ALLEXTERNALS           = NO
  
  # The PERL_PATH should be the absolute path and name of the perl script 
  # interpreter (i.e. the result of `which perl').
  
  PERL_PATH              = 
  
  #---------------------------------------------------------------------------
  # Configuration options related to the dot tool   
  #---------------------------------------------------------------------------
  
  # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
  # available from the path. This tool is part of Graphviz, a graph visualization 
  # toolkit from AT&T and Lucent Bell Labs. The other options in this section 
  # have no effect if this option is set to NO (the default)
  
  HAVE_DOT               = NO
  
  # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
  # will generate a graph for each documented class showing the direct and 
  # indirect inheritance relations. Setting this tag to YES will force the 
  # the CLASS_DIAGRAMS tag to NO.
  
  CLASS_GRAPH            = YES
  
  # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
  # will generate a graph for each documented class showing the direct and 
  # indirect implementation dependencies (inheritance, containment, and 
  # class references variables) of the class with other documented classes.
  
  COLLABORATION_GRAPH    = YES
  
  # If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to 
  # YES then doxygen will generate a graph for each documented file showing 
  # the direct and indirect include dependencies of the file with other 
  # documented files.
  
  INCLUDE_GRAPH          = YES
  
  # If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to 
  # YES then doxygen will generate a graph for each documented header file showing 
  # the documented files that directly or indirectly include this file
  
  INCLUDED_BY_GRAPH      = YES
  
  # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
  # will graphical hierarchy of all classes instead of a textual one.
  
  GRAPHICAL_HIERARCHY    = YES
  
  # The tag DOT_PATH can be used to specify the path where the dot tool can be 
  # found. If left blank, it is assumed the dot tool can be found on the path.
  
  DOT_PATH               = 
  
  # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
  # (in pixels) of the graphs generated by dot. If a graph becomes larger than 
  # this value, doxygen will try to truncate the graph, so that it fits within 
  # the specified constraint. Beware that most browsers cannot cope with very 
  # large images.
  
  MAX_DOT_GRAPH_WIDTH    = 1024
  
  # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
  # (in pixels) of the graphs generated by dot. If a graph becomes larger than 
  # this value, doxygen will try to truncate the graph, so that it fits within 
  # the specified constraint. Beware that most browsers cannot cope with very 
  # large images.
  
  MAX_DOT_GRAPH_HEIGHT   = 1024
  
  # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
  # generate a legend page explaining the meaning of the various boxes and 
  # arrows in the dot generated graphs.
  
  GENERATE_LEGEND        = YES
  
  # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
  # remove the intermedate dot files that are used to generate 
  # the various graphs.
  
  DOT_CLEANUP            = YES
  
  #---------------------------------------------------------------------------
  # Configuration::addtions related to the search engine   
  #---------------------------------------------------------------------------
  
  # The SEARCHENGINE tag specifies whether or not a search engine should be 
  # used. If set to NO the values of all tags below this one will be ignored.
  
  SEARCHENGINE           = NO
  
  # The CGI_NAME tag should be the name of the CGI script that 
  # starts the search engine (doxysearch) with the correct parameters. 
  # A script with this name will be generated by doxygen.
  
  CGI_NAME               = 
  
  # The CGI_URL tag should be the absolute URL to the directory where the 
  # cgi binaries are located. See the documentation of your http daemon for 
  # details.
  
  CGI_URL                = 
  
  # The DOC_URL tag should be the absolute URL to the directory where the 
  # documentation is located. If left blank the absolute path to the 
  # documentation, with file:// prepended to it, will be used.
  
  DOC_URL                = 
  
  # The DOC_ABSPATH tag should be the absolute path to the directory where the 
  # documentation is located. If left blank the directory on the local machine 
  # will be used.
  
  DOC_ABSPATH            = 
  
  # The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
  # is installed.
  
  BIN_ABSPATH            = 
  
  # The EXT_DOC_PATHS tag can be used to specify one or more paths to 
  # documentation generated for other projects. This allows doxysearch to search 
  # the documentation for these projects as well.
  
  EXT_DOC_PATHS          = 
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/doxygen/docFoot.html
  
  Index: docFoot.html
  ===================================================================
  <html>
  <head>
  <title>Axis C++ Client Lib - User's Guide</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
  <HR><P ALIGN="CENTER">Copyright � 2001 SL_OpenSource XML Project. All Rights Reserved</P>
  </body>
  </html>
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/AxisConst.hpp
  
  Index: AxisConst.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_CONST_H)
  #define _AXIS_CONST_H
  
  #include <string>
  
  
  namespace ax
  {
  	static const std::string NSPREFIX_SOAP_ENV   = "SOAP-ENV" ;
      static const std::string NSPREFIX_SOAP_ENC   = "SOAP-ENC" ;
      static const std::string NSPREFIX_SCHEMA_XSI = "xsi" ;
      static const std::string NSPREFIX_SCHEMA_XSD = "xsd" ;
  
  	static const std::string ELEM_ENVELOPE = "Envelope" ;
      static const std::string ELEM_HEADER   = "Header" ;
      static const std::string ELEM_BODY     = "Body" ;
      static const std::string ELEM_FAULT    = "Fault" ;
      
      static const std::string ELEM_MISUNDERSTOOD = "Misunderstood";
  
      static const std::string ELEM_FAULT_CODE   = "faultcode" ;
      static const std::string ELEM_FAULT_STRING = "faultstring" ;
      static const std::string ELEM_FAULT_DETAIL = "detail" ;
      static const std::string ELEM_FAULT_ACTOR  = "faultactor" ;
  
      static const std::string ATTR_MUST_UNDERSTAND = "mustUnderstand" ;
      static const std::string ATTR_ENCODING_STYLE  = "encodingStyle" ;
      static const std::string ATTR_ACTOR           = "actor" ;
      static const std::string ATTR_ROOT            = "root" ;
      static const std::string ATTR_ID              = "id" ;
      static const std::string ATTR_HREF            = "href" ;
      static const std::string ATTR_QNAME           = "qname";
      static const std::string ATTR_ARRAY_TYPE      = "arrayType";
      static const std::string ATTR_OFFSET          = "offset";
      static const std::string ATTR_POSITION        = "position";
  
  	static const std::string PROP_SOAPACTION	  = "SOAPAction";
  
  	static const std::string NS_URI_XMLNS  = "http://www.w3.org/2000/xmlns/";
  	static const std::string AXIS_NS	   = "http://xml.apache.org/axis/";
      
      //
      // SOAP 1.1 constants
      //
      static const std::string URI_SOAP_ENV   = "http://schemas.xmlsoap.org/soap/envelope/" ;
      static const std::string URI_SOAP_ENC   = "http://schemas.xmlsoap.org/soap/encoding/" ;
      static const std::string URI_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next" ;
      
      //
      // SOAP 1.2 constants
      //
  	static const std::string URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
  	static const std::string URI_2001_SCHEMA_XSI = "http://www.w3.org/2001/XMLSchema-instance";
      static const std::string URI_SOAP12_ENV = "http://www.w3.org/2001/06/soap-envelope";
      static const std::string URI_SOAP12_ENC = "http://www.w3.org/2001/06/soap-encoding";
      static const std::string URI_SOAP12_NEXT_ACTOR = "http://www.w3.org/2001/06/soap-envelope/actor/next";
      static const std::string URI_SOAP12_FAULT_NS   = "http://www.w3.org/2001/06/soap-faults";
      static const std::string URI_SOAP12_UPGRADE_NS = "http://www.w3.org/2001/06/soap-upgrade";
  
  	static const std::string URI_CURRENT_SOAP_ENV   = URI_SOAP12_ENV;
  	static const std::string URI_CURRENT_SCHEMA_XSD = URI_2001_SCHEMA_XSD;
  	static const std::string URI_CURRENT_SCHEMA_XSI = URI_2001_SCHEMA_XSI;
  
  	static const std::string XML_SCHEMA_INSTANCE_TYPE = NSPREFIX_SCHEMA_XSI + ":" + "type";
  	static const std::string XML_SCHEMA_INSTANCE_NIL  = NSPREFIX_SCHEMA_XSI + ":" + "nil";
  };
  
  
  #endif //_AXIS_CONST_H
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/Call.hpp
  
  Index: Call.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @authors		Lilantha Darshana	 (lilantha@erunway.com)
   *				Satheesh Thurairajah (satheesh@erunway.com)
   *			
   *
   */
  
  #if !defined(_AXIS_CALL_HPP)
  #define _AXIS_CALL_HPP
  
  
  #include <vector>
  #include <string>
  #include "Param.hpp"
  #include "XMLType.hpp"
  
  class SerializerFactory;
  class SOAPMsgContext;
  
  /**
   * RPC Dynamic Invocation interface.  This class should be used to actually 
   * invoke the Web Service from Client side. 
   * The stratergy of calling this interface is as follows:
   * Set up & configure a object of this class with following informations:
   *		
   * \li	TARGER_ENDPOINT - Where the Web service can be located ( :-( not location transparent) 
   * \li	NAMESPACE       - Namespace URI of remote method 
   * \li	METHOD_NAME		- Name of the method to be Invoke from the end point
   * \li	PARAMETERES		- Parameters (if any) for calling remote method
   * \li	SERIALIZATION	- If user defined structured data types are used, provide
   *						  serialization factory for the purpose of XML serialization 
   *						  & deserialization of data.
   * 
   * @todo      Support for WSDL document (on the constructor to the Service object) 
   *	
   * @brief     RPC Dynamic Invocation interface
   *
   */
  
  class Call  
  {
  public:
  
  	/// Mode of the each parameter: This is not supported yet???, default is set as IN
  	enum Mode {IN_PARAM, OUT_PARAM, IN_OUT_PARAM};
  
  public:
  	Call();
  	virtual ~Call();
  	
  	/**
       * Adds the specified parameter to the list of parameters for the
       * operation associated with this Call object. This method should be called by
  	 * the client to pass parameters on the method; call should be made on this
  	 * according to the order of parameters that should be passed on the method.
  	 *
  	 * Store each param in a vector as name-value pair with the data type 
  	 * Qualified name according to XML Schema Part 2 Datatype.
       *
  	 * @brief	Adds specified parameter to the list of parameters 
       *			for the operation associated with this Call object.
  	 *
       * @param   p_pchName    Name that will be used for the parameter in the XML 
  	 *						 representation.
       * @param   p_Value	     Value of the param, rpresented genericly by typename
       * @param   p_Mode	     one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM
  	 *
  	 */
  
  	template<typename T>
  	void AddParameter(const char* p_pchName, T& p_Value, Mode p_Mode)
  	{
  		Param *newParam = new Param;
  
     		newParam->m_pValue = (void*)&p_Value;
  		newParam->m_pType  = ax::XMLType<T>::GetType();
  		newParam->m_Name   = p_pchName;
  
   		m_vArgs.push_back(newParam);
  	}
  
  	/**
       * Adds the specified parameter to the list of parameters for the
       * operation associated with this Call object. This method should be called by
  	 * the client to pass parameters on the method; call should be made on this
  	 * according to the order of parameters that should be passed on the method.
  	 *
  	 * Store each param in a vector as name-value pair with the data type 
  	 * Qualified name accord XML Schema Part 2 Datatype. Param name is generated
  	 * like arg0, arg1 etc. accordingh to it place in the vectore.
       *
   	 * @brief	Adds specified parameter without a name to the list of parameters 
       *			for the operation associated with this Call object.
  	 *
       * @param	p_Value	     Value of the param, rpresented genericly by typename
       * @param	p_Mode	     one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM
  	 *
  	 */
  
  	template<typename T>
  	void AddParameter(T& value, Mode mode)
  	{
  		Param *newParam = new Param;
  
  		char buf[10];
  		sprintf(buf, "%d", m_vArgs.size());
  
     		newParam->m_pValue = (void*)&value;
  		newParam->m_pType  = ax::XMLType<T>::GetType();
  		newParam->m_pType  += buf; // create names like arg0, arg1 etc.
  
   		m_vArgs.push_back(newParam);
  	}
  
  	///Invokes the operation associated with this Call object using the method name in namespace 
  	void * Invoke(const std::string& p_sNs, const std::string& p_sMethod);
  
  	/// Invokes the operation associated with this Call object using info aready provided
  	void * Invoke();
  
  	/// Set romote address of the Web Service
  	void SetTargetEndpointAddress(const char* p_pchUrl);
  
  	/// set the method namespace URI
  	void SetMethodNamespaceURI(const char *p_pchOpNsURI);
  
  	/// Sets the operation name associated with this Call object
  	void SetOperationName(const char *p_pchOpName);
  
  	/// Set XML Mapping for user defined data types.
  	void AddSerializerFactory(const std::string& p_sTypName, SerializerFactory * p_pSer);
  
  	/// Sets the encoding style to the URL passed in.
  	void SetEncodingStyle(const std::string& p_sNsURI);
  
  	/**
       * Clears the list of parameters.
  	 *
  	 * @brief	Clears the list of parameters.
       */
  	void ClearAllParams(){m_vArgs.clear();}
  
  
  private:
  
  	/// Clean up any memory associated with this call object
  	void Cleanup();
  
  
  private:
      std::vector<Param*> m_vArgs;			///< Vectore of arguments
      std::string         m_strOpName;		///< Operation/method name
      std::string         m_strMethodNsURI;	///< Method namespace URI
  	std::string			m_ServerURL;		///< Remote address of the Web service
  	std::string			m_EncStyle;			///< Encoding style
  
  	SOAPMsgContext *m_pClientCtx;			///< SOAP Message handler
  
  };
  
  	
  
  #endif // _AXIS_CALL_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/Param.hpp
  
  Index: Param.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_PARAM_HPP)
  #define _AXIS_PARAM_HPP
  
  #include <string>
  #include "QName.hpp"
  
  /**
   *	Parameters for SOAP - RPC; contain XML schema datatype as a Qualified 
   *	Name and relavent data
   *
   *	@brief	Parameters for SOAP - RPC
   */
  
  class Param
  {
  public:
  	Param();
  	~Param();
  
  	void	   *m_pValue;	///< Data associated with this aprameter
  	ax::QName  *m_pType;	///< XML schema datatype as qualified name
  	std::string m_Name;		///< Name of the parameter.
  };
  
  #endif // _AXIS_PARAM_HPP
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/Platform.hpp
  
  Index: Platform.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_STDAFX_H)
  #define _AXIS_STDAFX_H
  
  
  #ifdef WIN32
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  #define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
  
  #pragma warning ( disable : 4786 )
  
  
  //#include <afx.h>
  //#include <afxwin.h>
  
  #ifdef AXIS_EXPORTS
  #define AXIS_API __declspec(dllexport)
  #else
  #define AXIS_API __declspec(dllimport)
  #endif
  
  
  #else // WIN32
  
  #define AXIS_API
  #include <unistd.h>
  // other OS specific stuff goes here
  
  #endif
  
  
  
  #endif // _AXIS_STDAFX_H
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/QName.hpp
  
  Index: QName.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_QNAME_HPP)
  #define _AXIS_QNAME_HPP
  
  #include <string>
  #include <list>
  #include <vector>
  
  
  
  class	DOM_Element;
  
  
  
  namespace ax // Put this in the Axis namespace o/w conflicts with other 
  {			 // QName definition such as Xerces QName which, is not identical
  
  	/**
  	 *	Qualified name based on "Namespaces in XML" specification. defined as follows:
  	 *	
  	 *	QName	  ::=  (Prefix ':')? LocalPart										<br>
  	 *	Prefix	  ::=  NCName														<br>
  	 *	LocalPart ::=  NCName														<br>
  	 *	NCName	  ::=  (Letter | '_') (NCNameChar)*  ;  An XML Name, minus the ":"	<br>
  	 *	NCNameChar ::=  Letter | Digit | '.' | '-' | '_' etc.						<br>
  	 *
  	 *	The Prefix provides the namespace prefix part of the qualified name, and must 
  	 *	be associated with a namespace URI reference in a namespace declaration. 
  	 *	The LocalPart provides the local part of the qualified name. 
  	 *	Note that the prefix functions only as a placeholder for a namespace name. 
  	 *	Applications should use the namespace name, not the prefix, in constructing 
  	 *	names whose scope extends beyond the containing document.
  	 *
  	 *	
  	 *	@brief	Qualified name based on "Namespaces in XML" specification
  	 */
  
  	 // we need our own Qualified Name class
  	class QName
  	{
  		public:
  			/// Constructor for the QName
  			QName() : m_strNsURI(""), m_strLocalPart("") {}
  
  			/// Constructor QName from qualified name
  			QName(const std::string& p_qName);
  
  			/// Constructor for the QName
  			QName(const std::string& p_strNsURI, const std::string& p_strLocalPart);
  
  			/// Constructor for the QName
  			QName(const QName& p_qName);
  
  			/// Constructor for the QName
  			QName(const std::string& p_qName, const DOM_Element& p_Elem);
  			~QName(){};
  
  			/// Sets the Namespace URI for this QName
  			void SetNsURI(const std::string& p_strNsURI);
  
  			/// Sets the Local part for this QName
  			void SetLocalPart(const std::string& p_strLocalPart);
  
  			/// Gets the Namespace URI for this QName
  			const std::string GetNsURI() { return m_strNsURI;}
  
  			/// Gets the Local part for this QName
  			const std::string GetLocalPart() {return m_strLocalPart;}
          
  			/// Indicates whether some other object is "equal to" this QName object
  			bool operator==(const QName& p_qName); 
  
  			/// storage purpose in a std::map we need a get around for this.
  			friend bool operator<(const QName& left, const QName& right);
  
  			/// Returns a string representation of this QName
  			const std::string QName::toString(); 
  
  		private:
  			std::string  m_strNsURI;		///< Namespace URI
  			std::string  m_strLocalPart;	///< Loaclpart
  	};
  };
  
  #endif // _AXIS_QNAME_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/SerializerFactory.hpp
  
  Index: SerializerFactory.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_SERIALIZERFACTORY_HPP)
  #define _AXIS_SERIALIZERFACTORY_HPP
  
  
  #include <string>
  
  
  /**
   * 
   * This is the abstract class/interface that should be implemented by the
   * user for (de)serialization of user defined types. A SerializerFactory 
   * is registered with a Type Mapping instance as part of the TypeMappingRegistry. 
   *
   * Hope this will do the job?? but further discussions are required.
   *	
   * @brief     (De)serialization interface for user defined types.
   *
   */
  
  class SerializerFactory  
  {
  public:
  	SerializerFactory(){};
  	virtual ~SerializerFactory(){};
  
  	/**
  	 *	Serialize/converts a C++ object to an XML representation using
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style.
  	 *
  	 *	@brief	Serialize/converts a C++ object to an XML representation
  	 */
  	virtual const std::string Serialize(const void * val)=0;
  
  	/**
  	 *	Deserialize/converts an XML representation to a C++ object using 
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style. 
  	 *
  	 *	@brief	Deserialize/converts an XML representation to a C++ object
  	 */
  	virtual void* Deserialize(std::string& val)=0;
  };
  
  
  
  #endif // _AXIS_SERIALIZERFACTORY_HPP
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/ServiceFactory.hpp
  
  Index: ServiceFactory.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_SERVICEFACTORY_HPP)
  #define _AXIS_SERVICEFACTORY_HPP
  
  
  #include "Call.hpp"
  
  /**
   *	A ServiceFactory class acts as a factory of the following objects: 
   *
   *	Instance of Call for the dynamic invocation of a remote operation on a service port. 
   *	Dynamic proxy for a service port??. 
   * 
   *	This class handles WSDL  -- service creations for the client side.
   *	This is currently creating a Call client interface. Until the WSDL2C++
   *	classes are ready. 
   *
   *
   *	@brief	Instancetiate Call object for the dynamic invocation of a remote operation
   */
  
  class ServiceFactory  
  {
  public:
  	ServiceFactory();
  
  	/// for the time being keep this abstract
  	virtual ~ServiceFactory()=0; 
  
  	/// just return new Call object for the time being
  	static Call* CreateCall(){return new Call();} 
  
  };
  
  #endif // _AXIS_SERVICEFACTORY_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/include/XMLType.hpp
  
  Index: XMLType.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @author	 Lilantha Darshana	 (lilantha@erunway.com)
   *			
   *
   */
  
  
  #if !defined(_AXIS_XMLTYPE_HPP)
  #define _AXIS_XMLTYPE_HPP
  
  #include "AxisConst.hpp"
  #include "QName.hpp"
  
  
  
  
  namespace ax
  {
  
  /**
   * 
   * This is the declaration of the XMLTypes which need to be implemented 
   * to manage serialization/deserialization of given types,
   * when encoding and decoding data types from/to SOAP types (xml).
   *
   * If XMLType<T> is undefined for user defined classes then user have 
   * to implement it. Look in definition in XMLType.cpp for examples. 
   * Where QName handle the data type as SOAP schema QName as:
   * xsi:int, xsi:string and so on. The user is responsible for definition of this
   * interface for his/her class (data type) to manage correct schema definition
   * for their type.
   *
   * Eg: For UsrClass, the schema type could be usr_class so the QName is
   *     xsi:usr_class, which should be returned by implementing this interface	
   *
   * Note that this is inlcuded in the namespace ax
   *
   * @brief Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name
   */
  
  template<typename T>
  class XMLType  
  {
  	public:
  		XMLType();
  		virtual ~XMLType()=0;
  
  		/// The strategy for returning schema type as Qualified name for the specified type T
  		static QName* GetType();
  };
  
  };
  
  #endif // _AXIS_XMLTYPE_HPP
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/AIX_4.3/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/Linux/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/NT_4.0/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/SunOS_5.6/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/SunOS_5.7/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/lib/SunOS_5.8/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib 
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/AIX_4.3/common/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/Linux/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/Linux/common/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/NT_4.0/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/SunOS_5.6/common/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/SunOS_5.7/common/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/objs/SunOS_5.8/common/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of library intemediate objs as for platform
  
  $Log:
  
  Alpha 0.3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Makefile
  
  Index: Makefile
  ===================================================================
  
  CORE_DIRS = Message Transport Util Encoding Xml Client
  
  DIRS = $(CORE_DIRS) 
  
  ALL_DIRS = $(DIRS)
  
  all:
  	@for dir in $(DIRS) ; do \
  	( cd $$dir ; \
  	$(MAKE) -q && { echo "$$dir up to date" ; } || \
  	{ echo "Making $$dir" ; $(MAKE) -$(MAKEFLAGS) ; } ) ; done 
  
  clean:
  	@ for dir in $(DIRS) ; do ( \
  	cd $$dir ; echo "Cleaning `basename \`pwd\``" ; \
  	$(MAKE) -$(MAKEFLAGS) clean ; ) ; done 
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Platform.cpp
  
  Index: Platform.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Platform.hpp
  
  Index: Platform.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_STDAFX_H)
  #define _AXIS_STDAFX_H
  
  
  #ifdef WIN32
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  #define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
  
  #pragma warning ( disable : 4786 )
  
  
  //#include <afx.h>
  //#include <afxwin.h>
  
  #ifdef AXIS_EXPORTS
  #define AXIS_API __declspec(dllexport)
  #else
  #define AXIS_API __declspec(dllimport)
  #endif
  
  
  #else // WIN32
  
  #define AXIS_API
  #include <unistd.h>
  // other OS specific stuff goes here
  
  #endif
  
  
  
  #endif // _AXIS_STDAFX_H
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Client/Call.cpp
  
  Index: Call.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @authors  Lilantha Darshana    (lilantha@erunway.com)
   *           Satheesh Thurairajah (satheesh@erunway.com)
   *			 
   *
   */
  
  #include "Platform.hpp"
  #include "Call.hpp"
  #include "SOAPMsgContext.hpp"
  #include "AxisException.hpp"
  #include <iostream>
  #include "Param.hpp"
  
  
  /**
   * Create a Call object and initialize Message Context
   * 
   */
  
  Call::Call() : m_pClientCtx(0)
  {
  
  }
  
  
  /**
   * Clean up the object for shutting down the Web service.
   *
   */
  
  Call::~Call()
  {
  	Cleanup();
  }
  
  
  /**
   * Sets the operation name associated with this Call object. The validity of 
   * the operation is not checked at this point.
   *
   * @param	p_pchOpName Name of the operation.
   */
  void Call::SetOperationName(const char *p_pchOpName)
  {
      if (p_pchOpName)
          m_strOpName = p_pchOpName;
  }
  
  
  /**
   * Sets the operation name associated Namespace URI with this Call object. The 
   * validity of the operation namespace is not checked at this point. 
   *
   * @param	p_pchOpNsURI Namespace URI of the operation.
   */
  
  void Call::SetMethodNamespaceURI(const char *p_pchOpNsURI)
  {
      if (p_pchOpNsURI)
          m_strMethodNsURI = p_pchOpNsURI;
  }
  
  
  /**
   * Sets the URL of the target Web Service.
   *
   * @param	p_pchUrl of the target Web Service
   */
  
  void Call::SetTargetEndpointAddress(const char* p_pchUrl)
  {
  	m_ServerURL = p_pchUrl;
  }
  
  
  /**
   * Map a type for XML serialization & deserialization
   *
   *
   * @param p_sTypName Name that mapping is required as xsi:type QName of the 
   *					 associated XML type.
   * @param p_pSer	 A SerializerFactory factory which can create serializer
   *					 /deserializer instances for this type.
   */
  
  void Call::AddSerializerFactory(const std::string& p_sTypName, SerializerFactory * p_pSer)
  {
  	if(!m_pClientCtx)
  		m_pClientCtx = new SOAPMsgContext();
  
  	m_pClientCtx->RegisterTypeMapping(p_sTypName, p_pSer);
  }
  
  
  /**
   * Sets the encoding style to the URL passed in.
   *
   * @param Namespace URI of the encoding to use.
   */
  
  void Call::SetEncodingStyle(const std::string& p_sNsURI)
  {
  	m_EncStyle = p_sNsURI;
  }
  
  
  /**
   * Invokes the operation associated with this Call object using the
   * Method namespace & method name provided as the arguments.
   *
   * @param	p_sNs	  Method namespace URI
   * @param	p_sMethod Method name (required)
   *
   * @return	Result of the Invoke of remote method. The object handler is return
   *			as a void pinter which client required to exlisitly cast in to the
   *			required data type.
   * 
   */
  
  void * Call::Invoke(const std::string& p_sNs, const std::string& p_sMethod)
  {
  	// set method name & namespace of the method.
  	m_strMethodNsURI = p_sNs;
  	m_strOpName		 = p_sMethod;
  
  	return Invoke();
  }
  
  
  /**
   * Invokes the operation associated with this Call object using the
   * method name in method namespace already provided, Create RPCElements
   * as body element using the vector of params (if any) for the method.
   * All the exceptions of such calls are handle here; do we required to 
   * pass such exceptions to the Client????
   *
   * @return	Result of the Invoke of remote method. The object handler is return
   *			as a void pinter which client required to explisitly cast in to the
   *			required data type. dynamic_cast<..> is strongly suggested. Client 
   *			require to clean up any memory associated with this returned obj.
   *
   * @todo    Manupulation of other return values;
   * 
   */
  
  void * Call::Invoke()
  {
  	try
  	{
  		// Make sure the method name is provided
  		if(m_strOpName.empty()) throw AxisException("Cannot Invoke unspecified method ....", 1);
  
  		// Build up the RPC body from method name, namespace & set of arguments; as SOAPBody
  		RPCElement  *pBody = new RPCElement(m_strMethodNsURI, m_strOpName, m_vArgs);
  
  		// Create message contex to handle SOAP requests
  		if(!m_pClientCtx)
  			m_pClientCtx = new SOAPMsgContext();
  
  		//Set remote Web service address
  		m_pClientCtx->SetServiceURL(m_ServerURL);
  
  		// Invoke the Web service with RPC body elements
  		m_pClientCtx->Invoke(pBody);
  
  		// Get result of call to remote service as RPC body Element
  		RPCElement *ret = (RPCElement*)m_pClientCtx->GetResults();
  
  		// return deserialized response message to the caller		
  		// according the the service description of output form -- metainfo
  		return ret->GetReturnValue(); 
  									  
  	}
  	catch(AxisException& ex)
  	{
  		std::cerr << ex.GetErrorMsg() << std::endl;
  		Cleanup();
  	}
  	catch(...)
  	{
  		// Handle any sort of exception that could cause on calling remote sercvice.
  		std::cerr << "Exception in WebService ....." << std::endl;
  		Cleanup();
  	}
  	
  	// Exception has occured
  	return NULL;
  }
  
  
  /**
   * Clean up on an exception
   *
   */
  
  void Call::Cleanup()
  {
  	delete m_pClientCtx;
  	m_pClientCtx = NULL;
  	int size;
  	if(size = m_vArgs.size())
  	{
  		for (int i=0; i < size ; i++)
  			delete m_vArgs[i];
  		m_vArgs.clear();
  	}
  }
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Client/Call.hpp
  
  Index: Call.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @authors		Lilantha Darshana	 (lilantha@erunway.com)
   *				Satheesh Thurairajah (satheesh@erunway.com)
   *			
   *
   */
  
  #if !defined(_AXIS_CALL_HPP)
  #define _AXIS_CALL_HPP
  
  
  #include <vector>
  #include <string>
  #include "Param.hpp"
  #include "XMLType.hpp"
  
  class SerializerFactory;
  class SOAPMsgContext;
  
  /**
   * RPC Dynamic Invocation interface.  This class should be used to actually 
   * invoke the Web Service from Client side. 
   * The stratergy of calling this interface is as follows:
   * Set up & configure a object of this class with following informations:
   *		
   * \li	TARGER_ENDPOINT - Where the Web service can be located ( :-( not location transparent) 
   * \li	NAMESPACE       - Namespace URI of remote method 
   * \li	METHOD_NAME		- Name of the method to be Invoke from the end point
   * \li	PARAMETERES		- Parameters (if any) for calling remote method
   * \li	SERIALIZATION	- If user defined structured data types are used, provide
   *						  serialization factory for the purpose of XML serialization 
   *						  & deserialization of data.
   * 
   * @todo      Support for WSDL document (on the constructor to the Service object) 
   *	
   * @brief     RPC Dynamic Invocation interface
   *
   */
  
  class Call  
  {
  public:
  
  	/// Mode of the each parameter: This is not supported yet???, default is set as IN
  	enum Mode {IN_PARAM, OUT_PARAM, IN_OUT_PARAM};
  
  public:
  	Call();
  	virtual ~Call();
  	
  	/**
       * Adds the specified parameter to the list of parameters for the
       * operation associated with this Call object. This method should be called by
  	 * the client to pass parameters on the method; call should be made on this
  	 * according to the order of parameters that should be passed on the method.
  	 *
  	 * Store each param in a vector as name-value pair with the data type 
  	 * Qualified name according to XML Schema Part 2 Datatype.
       *
  	 * @brief	Adds specified parameter to the list of parameters 
       *			for the operation associated with this Call object.
  	 *
       * @param   p_pchName    Name that will be used for the parameter in the XML 
  	 *						 representation.
       * @param   p_Value	     Value of the param, rpresented genericly by typename
       * @param   p_Mode	     one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM
  	 *
  	 */
  
  	template<typename T>
  	void AddParameter(const char* p_pchName, T& p_Value, Mode p_Mode)
  	{
  		Param *newParam = new Param;
  
     		newParam->m_pValue = (void*)&p_Value;
  		newParam->m_pType  = ax::XMLType<T>::GetType();
  		newParam->m_Name   = p_pchName;
  
   		m_vArgs.push_back(newParam);
  	}
  
  	/**
       * Adds the specified parameter to the list of parameters for the
       * operation associated with this Call object. This method should be called by
  	 * the client to pass parameters on the method; call should be made on this
  	 * according to the order of parameters that should be passed on the method.
  	 *
  	 * Store each param in a vector as name-value pair with the data type 
  	 * Qualified name accord XML Schema Part 2 Datatype. Param name is generated
  	 * like arg0, arg1 etc. accordingh to it place in the vectore.
       *
   	 * @brief	Adds specified parameter without a name to the list of parameters 
       *			for the operation associated with this Call object.
  	 *
       * @param	p_Value	     Value of the param, rpresented genericly by typename
       * @param	p_Mode	     one of IN_PARAM, OUT_PARAM, IN_OUT_PARAM
  	 *
  	 */
  
  	template<typename T>
  	void AddParameter(T& value, Mode mode)
  	{
  		Param *newParam = new Param;
  
  		char buf[10];
  		sprintf(buf, "%d", m_vArgs.size());
  
     		newParam->m_pValue = (void*)&value;
  		newParam->m_pType  = ax::XMLType<T>::GetType();
  		newParam->m_pType  += buf; // create names like arg0, arg1 etc.
  
   		m_vArgs.push_back(newParam);
  	}
  
  	///Invokes the operation associated with this Call object using the method name in namespace 
  	void * Invoke(const std::string& p_sNs, const std::string& p_sMethod);
  
  	/// Invokes the operation associated with this Call object using info aready provided
  	void * Invoke();
  
  	/// Set romote address of the Web Service
  	void SetTargetEndpointAddress(const char* p_pchUrl);
  
  	/// set the method namespace URI
  	void SetMethodNamespaceURI(const char *p_pchOpNsURI);
  
  	/// Sets the operation name associated with this Call object
  	void SetOperationName(const char *p_pchOpName);
  
  	/// Set XML Mapping for user defined data types.
  	void AddSerializerFactory(const std::string& p_sTypName, SerializerFactory * p_pSer);
  
  	/// Sets the encoding style to the URL passed in.
  	void SetEncodingStyle(const std::string& p_sNsURI);
  
  	/**
       * Clears the list of parameters.
  	 *
  	 * @brief	Clears the list of parameters.
       */
  	void ClearAllParams(){m_vArgs.clear();}
  
  
  private:
  
  	/// Clean up any memory associated with this call object
  	void Cleanup();
  
  
  private:
      std::vector<Param*> m_vArgs;			///< Vectore of arguments
      std::string         m_strOpName;		///< Operation/method name
      std::string         m_strMethodNsURI;	///< Method namespace URI
  	std::string			m_ServerURL;		///< Remote address of the Web service
  	std::string			m_EncStyle;			///< Encoding style
  
  	SOAPMsgContext *m_pClientCtx;			///< SOAP Message handler
  
  };
  
  	
  
  #endif // _AXIS_CALL_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Client/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Client
  #
  #
  # Modify the TOPDIR variable to point to the top of the
  # directory tree where the Axis_Lib dir may be found.
  #
  
  BASE_PATH = ../..
  include ../../inc.mk
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Client
  
  CLIENT_SRCS = Call.cpp \
  	ServiceFactory.cpp 
  
  CLIENT_OBJS = $(CLIENT_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o)
  
  OBJS = $(CLIENT_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Client/ServiceFactory.cpp
  
  Index: ServiceFactory.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "ServiceFactory.hpp"
  
  
  
  ServiceFactory::ServiceFactory()
  {
  
  }
  
  ServiceFactory::~ServiceFactory()
  {
  
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Client/ServiceFactory.hpp
  
  Index: ServiceFactory.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_SERVICEFACTORY_HPP)
  #define _AXIS_SERVICEFACTORY_HPP
  
  
  #include "Call.hpp"
  
  /**
   *	A ServiceFactory class acts as a factory of the following objects: 
   *
   *	Instance of Call for the dynamic invocation of a remote operation on a service port. 
   *	Dynamic proxy for a service port??. 
   * 
   *	This class handles WSDL  -- service creations for the client side.
   *	This is currently creating a Call client interface. Until the WSDL2C++
   *	classes are ready. 
   *
   *
   *	@brief	Instancetiate Call object for the dynamic invocation of a remote operation
   */
  
  class ServiceFactory  
  {
  public:
  	ServiceFactory();
  
  	/// for the time being keep this abstract
  	virtual ~ServiceFactory()=0; 
  
  	/// just return new Call object for the time being
  	static Call* CreateCall(){return new Call();} 
  
  };
  
  #endif // _AXIS_SERVICEFACTORY_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Encoding directory
  #
  #
  BASE_PATH = ../..
  include ../../inc.mk
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Encoding
  
  
  ENCODING_SRCS = Param.cpp \
  		SOAPEncoding.cpp \
  		TypeMappingRegistry.cpp \
  		XMLType.cpp
  
  ENCODING_OBJS = $(ENCODING_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o)
  
  
  OBJS = $(ENCODING_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/Param.cpp
  
  Index: Param.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "Param.hpp"
  
  
  Param::Param()
  {
  	m_pValue=m_pType=NULL; 
  	m_Name="arg";
  }
  
  Param::~Param()
  {
  	delete m_pType;
  }
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/Param.hpp
  
  Index: Param.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_PARAM_HPP)
  #define _AXIS_PARAM_HPP
  
  #include <string>
  #include "QName.hpp"
  
  /**
   *	Parameters for SOAP - RPC; contain XML schema datatype as a Qualified 
   *	Name and relavent data
   *
   *	@brief	Parameters for SOAP - RPC
   */
  
  class Param
  {
  public:
  	Param();
  	~Param();
  
  	void	   *m_pValue;	///< Data associated with this aprameter
  	ax::QName  *m_pType;	///< XML schema datatype as qualified name
  	std::string m_Name;		///< Name of the parameter.
  };
  
  #endif // _AXIS_PARAM_HPP
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/SOAPEncoding.cpp
  
  Index: SOAPEncoding.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "SOAPEncoding.hpp"
  #include <cstdio>
  
  
  /// Serialization strategies for int type
  template<>
  const std::string SOAPEncoding<int>::Serialize(const void * val)
  {
  	sprintf(buf, "%d", *(int*)val);
  	return std::string(buf);
  }
  
  /// Serialization strategies for long type
  template<>
  const std::string SOAPEncoding<long>::Serialize(const void * val)
  {
  	sprintf(buf, "%ld", *(long*)val);
  	return std::string(buf);
  }
  
  /// Serialization strategies for short type
  template<>
  const std::string SOAPEncoding<short>::Serialize(const void * val)
  {
  	sprintf(buf, "%d", *(short*)val);
  	return std::string(buf);
  }
  
  /// Serialization strategies for float type; need to varify precision
  template<>
  const std::string SOAPEncoding<float>::Serialize(const void * val)
  {
  	sprintf(buf, "%fd", *(int*)val); // automatically handles NaN, +/- infinity
  	return std::string(buf);
  }
  
  /// Serialization strategies for double type; need to varify precision
  template<>
  const std::string SOAPEncoding<double>::Serialize(const void * val)
  {
  	sprintf(buf, "%ed", *(int*)val); // automatically handles NaN, +/- infinity
  	return std::string(buf);
  }
  
  /// Serialization strategies for STL strings type
  template<>
  const std::string SOAPEncoding<std::string>::Serialize(const void * val)
  {
  	return *(std::string *)val;
  }
  
  /// Serialization strategies for boolean type
  template<>
  const std::string SOAPEncoding<bool>::Serialize(const void * val)
  {
  	return (*(bool*)val)? std::string("true") : std::string("false");
  }
  
  /// Serialization strategies for char type
  template<>
  const std::string SOAPEncoding<char>::Serialize(const void * val)
  {
  	sprintf(buf, "%c", *(char*)val);
  	return std::string(buf); 
  }
  
  
  /// Deserialization strategies for int types
  template<>
  void* SOAPEncoding<int>::Deserialize(std::string& val)
  {
  	return (void*) new int(atoi(val.c_str()));
  }
  
  /// Deserialization strategies for long types
  template<>
  void* SOAPEncoding<long>::Deserialize(std::string& val)
  {
  	return (void*) new long(atol(val.c_str()));
  }
  
  /// Deserialization strategies for short types
  template<>
  void* SOAPEncoding<short>::Deserialize(std::string& val)
  {
  	return (void*) new short(atoi(val.c_str()));
  }
  
  /// Deserialization strategies for float types
  template<>
  void* SOAPEncoding<float>::Deserialize(std::string& val)
  {
  	return (void*) new float(atof(val.c_str())); // required to handles NaN, +/- infinity
  }
  
  /// Deserialization strategies for double types
  template<>
  void* SOAPEncoding<double>::Deserialize(std::string& val)
  {
  	return (void*) new double(atof(val.c_str())); // required to handles NaN, +/- infinity
  }
  
  /// Deserialization strategies for STL strings types
  template<>
  void* SOAPEncoding<std::string>::Deserialize(std::string& val)
  {
  	return (void*) new std::string(val);
  }
  
  /// Deserialization strategies for boolean types
  template<>
  void* SOAPEncoding<bool>::Deserialize(std::string& val)
  {
  	return (void*) new bool((val == "true")?true:false); // need to handle no true/false value
  }
  
  /// Deserialization strategies for char types
  template<>
  void* SOAPEncoding<char>::Deserialize(std::string& val)
  {
  	return (void*) new char(val[0]);
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/SOAPEncoding.hpp
  
  Index: SOAPEncoding.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SOAPENCODING_HPP)
  #define _AXIS_SOAPENCODING_HPP
  
  
  #include "SerializerFactory.hpp"
  
  /**
   * 
   * This is the preimplementation of the SerializerFactory interface for 
   * predefined types. And is used to serialize/deserialize predefined types
   * when encoding and decoding these types from/to SOAP types (xml).
   * If SOAPEncoding<T> is undefined for user defined classes then user have 
   * to implement it. Look in class SOAPEncoding<T> for examples.
   *
   * @brief preimplementation of the SerializerFactory interface for predefined types
   */
  
  
  template<typename T>
  class SOAPEncoding  : public SerializerFactory
  {
  public:
  	SOAPEncoding(){};
  	~SOAPEncoding(){};
  
  	/**
  	 *	Serialize/converts a C++ object to an XML representation using
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style.
  	 *
  	 *	@brief	Serialize/converts a C++ object to an XML representation
  	 */
  	const std::string Serialize(const void * val);
  
  	/**
  	 *	Deserialize/converts an XML representation to a C++ object using 
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style. 
  	 *
  	 *	@brief	Deserialize/converts an XML representation to a C++ object
  	 */
  	void* Deserialize(std::string& val);
  
  private:
  	char buf[100]; ///< Temporary buffer to manage encoding/decoding
  
  };
  
  #endif // _AXIS_SOAPENCODING_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/SerializerFactory.hpp
  
  Index: SerializerFactory.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_SERIALIZERFACTORY_HPP)
  #define _AXIS_SERIALIZERFACTORY_HPP
  
  
  #include <string>
  
  
  /**
   * 
   * This is the abstract class/interface that should be implemented by the
   * user for (de)serialization of user defined types. A SerializerFactory 
   * is registered with a Type Mapping instance as part of the TypeMappingRegistry. 
   *
   * Hope this will do the job?? but further discussions are required.
   *	
   * @brief     (De)serialization interface for user defined types.
   *
   */
  
  class SerializerFactory  
  {
  public:
  	SerializerFactory(){};
  	virtual ~SerializerFactory(){};
  
  	/**
  	 *	Serialize/converts a C++ object to an XML representation using
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style.
  	 *
  	 *	@brief	Serialize/converts a C++ object to an XML representation
  	 */
  	virtual const std::string Serialize(const void * val)=0;
  
  	/**
  	 *	Deserialize/converts an XML representation to a C++ object using 
  	 *	a specific XML processing mechanism and based on the specified type 
  	 *	mapping and encoding style. 
  	 *
  	 *	@brief	Deserialize/converts an XML representation to a C++ object
  	 */
  	virtual void* Deserialize(std::string& val)=0;
  };
  
  
  
  #endif // _AXIS_SERIALIZERFACTORY_HPP
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/TypeMappingRegistry.cpp
  
  Index: TypeMappingRegistry.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "TypeMappingRegistry.hpp"
  #include "AxisConst.hpp"
  
  
  TypeMappingRegistry::TypeMappingRegistry()
  {
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "int"    )] = new SOAPEncoding<int>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "long"   )] = new SOAPEncoding<long>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "short"  )] = new SOAPEncoding<short>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "double" )] = new SOAPEncoding<double>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "string" )] = new SOAPEncoding<std::string>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "boolean")] = new SOAPEncoding<bool>;
  	m_MapRegistry[ ax::QName(ax::URI_CURRENT_SCHEMA_XSD, "byte"   )] = new SOAPEncoding<char>;
  }
  
  TypeMappingRegistry::~TypeMappingRegistry()
  {
  	TypeMap_t::iterator mapItr;
  
  	for(mapItr = m_MapRegistry.begin();mapItr != m_MapRegistry.end(); ++mapItr)
  		delete mapItr->second;
  
  }
  
  SerializerFactory * TypeMappingRegistry::GetSerializerFactory(ax::QName& qName)
  {
  	return m_MapRegistry[qName]; 
  }
  
  void TypeMappingRegistry::AddSerializerFactory(const std::string& typname, SerializerFactory * ser)
  {
  	ax::QName qName(ax::URI_CURRENT_SCHEMA_XSD, typname);
  	m_MapRegistry[qName] = ser;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/TypeMappingRegistry.hpp
  
  Index: TypeMappingRegistry.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_TYPEMAPPINGREGISTRY_HPP)
  #define _AXIS_TYPEMAPPINGREGISTRY_HPP
  
  #include <utility>
  #include <map>
  #include "QName.hpp"
  #include "SOAPEncoding.hpp"
  
  /**
   *	Defines a registry for Type Mapping instances for the different encoding styles. 
   *	See XML Schema Part 2 Datatypes for more info.
   *
   *	@brief	Registry for Type Mapping for the different encoding styles.
   */
  
  
  class TypeMappingRegistry  
  {
  public:
  	TypeMappingRegistry();
  	~TypeMappingRegistry();
  
  	/// Register/adds a Type Mapping instance for a specific type name according to the schema 
  	void AddSerializerFactory(const std::string& typname, SerializerFactory * ser);
  
  	/// Returns the registered Type Mapping for the specified XML schema -data type
  	SerializerFactory * GetSerializerFactory(ax::QName& qName);
  
  private:
  	typedef std::map<ax::QName, SerializerFactory *> TypeMap_t;
  	
  	TypeMap_t m_MapRegistry;
  
  };
  
  #endif // _AXIS_TYPEMAPPINGREGISTRY_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/XMLType.cpp
  
  Index: XMLType.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @author	Lilantha Darshana	 (lilantha@erunway.com)
   *			
   *
   */
  
  
  #include "Platform.hpp"
  #include "XMLType.hpp"
  
  namespace ax
  {
  // XML-SOAP schema type as Qualified name, definition for predefined types int
  template<>
  QName* XMLType<int>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "int");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types int
  template<>
  QName* XMLType<const int>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "int");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types long
  template<>
  QName* XMLType<long>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "long");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types long
  template<>
  QName* XMLType<const long>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "long");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types short
  template<>
  QName* XMLType<short>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "short");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types short
  template<>
  QName* XMLType<const short>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "short");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types float
  template<>
  QName* XMLType<float>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "float");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types float
  template<>
  QName* XMLType<const float>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "float");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types double
  template<>
  QName* XMLType<double>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "double");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types double
  template<>
  QName* XMLType<const double>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "double");
  }
  
  
  // XML-SOAP schema type as Qualified name, definition for predefined types STL string
  template<>
  QName* XMLType<std::string>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "string");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types STL string
  template<>
  QName* XMLType<const std::string>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "string");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types boolean
  template<>
  QName* XMLType<bool>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "boolean");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types boolean
  template<>
  QName* XMLType<const bool>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "boolean");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types char as byte
  template<>
  QName* XMLType<char>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "byte");
  }
  
  // XML-SOAP schema type as Qualified name, definition for predefined types char as byte
  template<>
  QName* XMLType<const char>::GetType()
  {
  	return new QName(ax::URI_CURRENT_SCHEMA_XSD, "byte");
  }
  
  };
  
  
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Encoding/XMLType.hpp
  
  Index: XMLType.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @author	 Lilantha Darshana	 (lilantha@erunway.com)
   *			
   *
   */
  
  
  #if !defined(_AXIS_XMLTYPE_HPP)
  #define _AXIS_XMLTYPE_HPP
  
  #include "AxisConst.hpp"
  #include "QName.hpp"
  
  
  
  
  namespace ax
  {
  
  /**
   * 
   * This is the declaration of the XMLTypes which need to be implemented 
   * to manage serialization/deserialization of given types,
   * when encoding and decoding data types from/to SOAP types (xml).
   *
   * If XMLType<T> is undefined for user defined classes then user have 
   * to implement it. Look in definition in XMLType.cpp for examples. 
   * Where QName handle the data type as SOAP schema QName as:
   * xsi:int, xsi:string and so on. The user is responsible for definition of this
   * interface for his/her class (data type) to manage correct schema definition
   * for their type.
   *
   * Eg: For UsrClass, the schema type could be usr_class so the QName is
   *     xsi:usr_class, which should be returned by implementing this interface	
   *
   * Note that this is inlcuded in the namespace ax
   *
   * @brief Declaration of the inteface XMLTypes to obtain xml-schema types as Qualified name
   */
  
  template<typename T>
  class XMLType  
  {
  	public:
  		XMLType();
  		virtual ~XMLType()=0;
  
  		/// The strategy for returning schema type as Qualified name for the specified type T
  		static QName* GetType();
  };
  
  };
  
  #endif // _AXIS_XMLTYPE_HPP
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Message directory
  #
  #
  BASE_PATH = ../..
  include ../../inc.mk
  
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Message
  
  MSG_SRCS =  MessageElement.cpp \
  	RPCElement.cpp \
  	RPCParam.cpp \
  	SOAPBodyElement.cpp \
  	SOAPEnvelope.cpp \
  	SOAPHeader.cpp \
  	SOAPMessage.cpp \
  	SOAPMsgContext.cpp \
  	SOAPFaultElement.cpp
   
  
  
  MSG_OBJS = $(MSG_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o)
  
  
  OBJS = $(MSG_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/MessageElement.cpp
  
  Index: MessageElement.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "MessageElement.hpp"
  
  
  MessageElement::MessageElement()
  {
  
  }
  
  MessageElement::~MessageElement()
  {
  
  }
  
  MessageElement::MessageElement(const DOM_Element& p_Elm)
  {
  	m_pElmNode = p_Elm;
  	m_Name	   = p_Elm.getLocalName().transcode();
  	m_NsURI    = p_Elm.getNamespaceURI().transcode();
  }
  
  MessageElement::MessageElement(const std::string& p_Ns, const std::string& p_LocalPart)
  {
  	m_Name  = p_LocalPart;
  	prefix  = "";
  	m_NsURI = p_Ns;
  }
  
  void MessageElement::SetMsgElm(const DOM_Element& p_Elm)
  {
  	m_pElmNode = p_Elm;
  	m_Name	   = p_Elm.getLocalName().transcode();
  	m_NsURI    = p_Elm.getNamespaceURI().transcode();
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/MessageElement.hpp
  
  Index: MessageElement.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_MESSAGEELEMENT_HPP)
  #define _AXIS_MESSAGEELEMENT_HPP
  
  #include "AttList.hpp"
  #include <dom/DOM_Node.hpp>
  #include <dom/DOM_Element.hpp>
  
  
  class XMLSerializer;
  class XMLDeSerializer;
  
  /**
   *	Base class of all SOAP message components; components are Envelop, Header, Body
   *	(including RPC element & Fault element), 
   *	There is a one-to-one mapping between MessageElement and DOM-Element for a
   *	given SOAP envelop.
   *	
   * @brief	Base class of all SOAP message components
   *
   */
  
  class MessageElement  
  {
  	public:
  		/// Constructor for the MessageElement
  		MessageElement();
  
  		/// Construct from a DOM Element
  		MessageElement(const DOM_Element& p_Elm);
  
  		/// Constructor for the MessageElement
  		MessageElement(const std::string& p_Ns, const std::string& p_LocalPart);
  		virtual ~MessageElement();
  
  		/// Deserialize MessageElement
  		virtual void   DeSerialize(XMLDeSerializer& dserilizer){}
  
  		/// Serialize MessageElement
  		virtual void   Serialize(XMLSerializer& serilizer){}
  
  		/// Sets MessageElement associated DOM Element.
  		virtual void   SetMsgElm(const DOM_Element& p_Elm);
  
  		/// Sets MessageElement Qualified name
  		virtual void   SetElmQName(const ax::QName& p_qName){m_qName = p_qName;};
  
  		/// Add any MessageElement as childs by associating corresponded DOM Element
  		virtual void   AddMsgElement(const DOM_Element& p_Elm){}
  
  		/// Get the Qualified name of this MessageElement
  		virtual ax::QName GetElmQName(){return m_qName;};
  
  	protected:
  		std::string    m_Name ;	///< Name or Localpart of this MessageElement
  		std::string    prefix ;	///< Namespace prefix of this MessageElement
  		std::string    m_NsURI;	///< Namespace URI of this MessageElement
  
  		DOM_Element m_pElmNode;	///< Associated DOM Element.
  		AttList		m_AttLst;	///< Associated Arributes.
  
  		ax::QName m_qName;		///< Qualified name of this MessageElement
      
  		std::string m_Msg;
  };
  
  #endif // _AXIS_MESSAGEELEMENT_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/RPCElement.cpp
  
  Index: RPCElement.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "RPCElement.hpp"
  #include "RPCParam.hpp"
  #include "XMLSerializer.hpp"
  #include "XMLDeSerializer.hpp"
  #include "AxisException.hpp"
  #include <dom/DOM_Element.hpp>
  #include <cstdio>
  
  
  RPCElement::RPCElement(const std::string& ns, const std::string& methodName,
  					   const std::vector<Param*>& params)
  {
  	m_NsURI = ns;
      m_Name  = methodName;
      
  	int nSize = params.size();
  
      for (int i = 0; i < nSize; i++) 
  	{
  		std::string name;
  
  		RPCParam *param = new RPCParam(params[i]->m_Name, params[i]->m_pValue, *(params[i]->m_pType));
  
  		m_pParams.push_back(param);
      }
  }
  
  RPCElement::RPCElement(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  	m_Prefix = p_Elm.getPrefix().transcode();
  	m_qName = ax::QName(p_Elm.getNamespaceURI().transcode(), 
  						p_Elm.getLocalName().transcode());
  }
  
  
  RPCElement::~RPCElement()
  {
  	int size = m_pParams.size();
  
  	for(int i = 0; i < size;i++)
  		delete m_pParams[i];
  
  	m_pParams.clear();
  }
  
  void RPCElement::AddMsgElement(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  
  	std::string tagName = p_Elm.getTagName().transcode();
  	
  	if(m_pElmNode.hasChildNodes())
  	{
  		DOM_Node child=m_pElmNode.getFirstChild();
  
  		if(child.getNodeType() == DOM_Node::TEXT_NODE 
  			|| child.getNodeType() == DOM_Node::CDATA_SECTION_NODE)
  		{
  			// All types are bound to name space URI_CURRENT_SCHEMA_XSI
  			std::string schemaType = m_pElmNode.getAttributeNS(ax::URI_CURRENT_SCHEMA_XSI.c_str(), "type").transcode();
  			m_Result = child.getNodeValue().transcode();
  
  			RPCParam *result = new RPCParam("result", m_Result, schemaType);
  			m_pParams.push_back(result);
  		}
  	}
  	else
  		throw AxisException("Return data not found\n\n", 1);
  }
  
  void * RPCElement::GetReturnValue()
  {
  	RPCParam *pRpc = (m_pParams.size()) ? m_pParams[0] : NULL;
  
  	if(pRpc) 
  		return pRpc->GetValue();
  	
  	throw AxisException("Unexpected result from the callee....\n\n", 1);
  }
  
  void RPCElement::Serialize(XMLSerializer& serilizer)
  {
  	ax::QName qName(m_NsURI, m_Name);
  	serilizer.StartElem(qName, m_AttLst);
  
  	for (paramItr = m_pParams.begin(); paramItr != m_pParams.end(); ++paramItr) 
  	{
  		(*paramItr)->Serialize(serilizer);
  	}
  	serilizer.EndElem();
  }
  
  void RPCElement::DeSerialize(XMLDeSerializer& dserilizer)
  {
  	dserilizer.RegisterPrefixForURI(m_Prefix, m_qName.GetNsURI());
  
  	dserilizer.DeSerialize(*this);
  	for (paramItr = m_pParams.begin(); paramItr != m_pParams.end(); ++paramItr) 
  	{
  		(*paramItr)->DeSerialize(dserilizer);
  	}
  	
  }
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/RPCElement.hpp
  
  Index: RPCElement.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_RPCELEMENT_HPP)
  #define _AXIS_RPCELEMENT_HPP
  
  #include <string>
  #include <vector>
  #include "AxisConst.hpp"
  #include "MessageElement.hpp"
  #include "Param.hpp"
  #include "QName.hpp"
  
  class RPCParam;
  
  class RPCElement : public MessageElement
  {
  	public:
  		RPCElement(){m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);}
  		RPCElement(const DOM_Element& p_Elm);
  		RPCElement(const std::string& ns, const std::string& methodName,
  					   const std::vector<Param*>& params);
  		~RPCElement();
  		void AddMsgElement(const DOM_Element& p_Elm);
  		void Serialize(XMLSerializer& serilizer);
  		void DeSerialize(XMLDeSerializer& dserilizer);
  
  		void * GetReturnValue();
  
  
  	private:
  		std::vector<RPCParam*> m_pParams;
  		std::vector<RPCParam*>::iterator paramItr;
  		std::string m_Result;
  		std::string m_Prefix;
  };
  
  
  #endif //_AXIS_RPCELEMENT_HPP
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/RPCParam.cpp
  
  Index: RPCParam.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "RPCParam.hpp"
  #include "XMLSerializer.hpp"
  #include "XMLDeSerializer.hpp"
  #include "TypeMappingRegistry.hpp"
  #include "SerializerFactory.hpp"
  #include <cstdlib>
  #include <cstdio>
  
  RPCParam::RPCParam(const std::string& ns, const std::string& name, 
  				   void* val, const ax::QName& p_Type)
  {
  	m_NsURI  = ns;
  	m_Name	 = name;
  	m_pValue = val;
  	m_Type   = p_Type; 
  }
  
  RPCParam::RPCParam(const std::string& name, void* val, const ax::QName& p_Type)
  {
  	m_Name	 = name;
  	m_pValue = val;
  	m_Type   = p_Type; 
  }
  
  RPCParam::RPCParam(const std::string& name, std::string& strValue, std::string& strType)
  {
  	m_Name	  = name;
  	m_Value   = strValue;
  	m_strType = strType;
  }
  
  RPCParam::~RPCParam()
  {
  
  }
  
  
  void RPCParam::Serialize(XMLSerializer& serilizer)
  {
  	AttList attribs;
  
  	std::string serVal = serilizer.GetTypeMapper()->GetSerializerFactory(m_Type)->Serialize(m_pValue);
  
  	std::string prefix = serilizer.GetPrefixForURI(m_Type.GetNsURI());
  	prefix += ":" + m_Type.GetLocalPart();
  	ax::QName qName("", ax::XML_SCHEMA_INSTANCE_TYPE);
  	attribs.Add(qName, prefix);
  	qName = ax::QName(m_NsURI, m_Name);
  
  	serilizer.Serialize(qName, attribs, serVal.c_str());
  }
  
  void RPCParam::DeSerialize(XMLDeSerializer& dserilizer)
  {
  	m_Type	 = dserilizer.GetQNameFromStr(m_strType);// get as a QName
  	m_pValue = dserilizer.GetTypeMapper()->GetSerializerFactory(m_Type)->Deserialize(m_Value);
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/RPCParam.hpp
  
  Index: RPCParam.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_RPCPARAM_HPP)
  #define _AXIS_RPCPARAM_HPP
  
  #include <string>
  #include "RPCElement.hpp"
  #include "AxisConst.hpp"
  #include "Param.hpp"
  #include "QName.hpp"
  
  
  class RPCParam  
  {
  	public:
  		RPCParam(){}
  		RPCParam(const std::string& ns, const std::string& name, void* val, const ax::QName& p_Type);
  		RPCParam(const std::string& name, void* val, const ax::QName& p_Type);
  		RPCParam(const std::string& name, std::string& strValue, std::string& strType);
  		~RPCParam();
  
  		const std::string GetName()	{return m_Name;}
  		void * GetValue(){return m_pValue;}
  
  		void  Serialize(XMLSerializer& serilizer);
  		void  DeSerialize(XMLDeSerializer& dserilizer);
      
      private:
  		std::string m_NsURI;
  		std::string m_Name;
  		std::string m_Value;
  		std::string m_strType;
  
  		void	   *m_pValue;
  		ax::QName	m_Type;
  
  		char tmp[100];
  
  		//RPCElement m_rpcMyCall;
  };
  
  #endif // _AXIS_RPCPARAM_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPBodyElement.cpp
  
  Index: SOAPBodyElement.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "SOAPBodyElement.hpp"
  #include "XMLSerializer.hpp"
  #include "XMLDeSerializer.hpp"
  #include "AxisException.hpp"
  
  
  SOAPBodyElement::SOAPBodyElement()
  {
  	m_qName  = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  	m_pBody  = NULL;
  	m_pFault = NULL;
  }
  
  SOAPBodyElement::SOAPBodyElement(MessageElement *p_pBody)
  {
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  	m_pBody = (RPCElement *) p_pBody;
  	m_pFault = NULL;
  }
  
  SOAPBodyElement::SOAPBodyElement(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_BODY);
  	m_pBody  = NULL;
  	m_pFault = NULL;
  }
  
  SOAPBodyElement::~SOAPBodyElement()
  {
  	delete m_pBody;
  }
  
  void SOAPBodyElement::AddMsgElement(const DOM_Element& p_Elm)
  {
  	std::string tagName = p_Elm.getTagName().transcode();
  
  	if(tagName.find(ax::ELEM_FAULT) != std::string::npos) // Check whether a fault has occurred or not
  		m_pFault = new SOAPFaultElement(p_Elm);
  	else
  		m_pBody = new RPCElement(p_Elm);
  }
  
  void SOAPBodyElement::Serialize(XMLSerializer& serilizer)
  {
  	AttList attList;
      // Output <SOAP-ENV:Body>
      serilizer.StartElem(m_qName, attList);
  
      m_pBody->Serialize(serilizer);
   
      // Output </SOAP-ENV:Body>
      serilizer.EndElem();
  }
  
  void SOAPBodyElement::DeSerialize(XMLDeSerializer& dserilizer)
  {
  	dserilizer.DeSerialize(*this);
  	if(m_pBody)
  		m_pBody->DeSerialize(dserilizer);
  	else if(m_pFault)
  		m_pFault->DeSerialize(dserilizer);
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPBodyElement.hpp
  
  Index: SOAPBodyElement.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SOAPBODYELEMENT_HPP)
  #define _AXIS_SOAPBODYELEMENT_HPP
  
  #include "MessageElement.hpp"
  #include "RPCElement.hpp"
  #include "SOAPFaultElement.hpp"
  
  class XMLSerializer;
  class XMLDeSerializer;
  
  
  class SOAPBodyElement : public MessageElement
  {
  public:
  	SOAPBodyElement();
  	SOAPBodyElement(const DOM_Element& p_Elm);
  	SOAPBodyElement(MessageElement *p_pBody);
  	~SOAPBodyElement();
  	void AddMsgElement(const DOM_Element& p_Elm);
  	const MessageElement* GetBody(){return m_pBody;}
  	void Serialize(XMLSerializer& serilizer);
  	void DeSerialize(XMLDeSerializer& dserilizer);
  
  private:
  	RPCElement			*m_pBody;
  	SOAPFaultElement	*m_pFault;
  };
  
  #endif // _AXIS_SOAPBODYELEMENT_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPEnvelope.cpp
  
  Index: SOAPEnvelope.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "SOAPEnvelope.hpp"
  #include "XMLSerializer.hpp"
  #include "XMLDeSerializer.hpp"
  #include "AxisException.hpp"
  
  
  SOAPEnvelope::SOAPEnvelope()
  {
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_ENVELOPE);
  	m_SOAPBodyItr = m_SOAPBody.begin();
  	m_SOAPHdItr   = m_SOAPHeader.begin();	 
  }
  
  SOAPEnvelope::SOAPEnvelope(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  	m_qName		  = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_ENVELOPE);
  	m_SOAPBodyItr = m_SOAPBody.begin();
  	m_SOAPHdItr   = m_SOAPHeader.begin();	 
  }
  
  SOAPEnvelope::~SOAPEnvelope()
  {
  	// clean up
  	for(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  		delete (*m_SOAPHdItr);
  
  	m_SOAPHeader.clear();
  
  	for(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  		delete (*m_SOAPBodyItr);
  
  	m_SOAPBody.clear();
  }
  
  void SOAPEnvelope::AddSOAPBodyElement(SOAPBodyElement *p_pBody)
  {
  	m_SOAPBody.push_back(p_pBody);
  }
  
  const MessageElement* SOAPEnvelope::GetSOAPBodyElement()
  {
  	return (m_SOAPBody.size())?m_SOAPBody[0]:new MessageElement; // for the moment return the first body element for RPC
  }
  
  void SOAPEnvelope::AddSOAPHeader(SOAPHeader *p_pHd)
  {
  	m_SOAPHeader.push_back(p_pHd);
  }
  
  bool SOAPEnvelope::RmSOAPBodyElement(const SOAPBodyElement& p_Body)
  {
  	return false;
  }
  
  bool SOAPEnvelope::RmSOAPHeader(const SOAPHeader& p_Hd)
  {
  	return false;
  }
  
  void SOAPEnvelope::AddMsgElement(const DOM_Element& p_Elm)
  {
  	std::string tagName = p_Elm.getTagName().transcode();
  	const std::string strBodyQName = ax::NSPREFIX_SOAP_ENV + ":" + ax::ELEM_BODY;
  	const std::string strHdQName   = ax::NSPREFIX_SOAP_ENV + ":" + ax::ELEM_HEADER;
  
  	if(strBodyQName == tagName)
  	{
  		SOAPBodyElement *pBody = new SOAPBodyElement(p_Elm);
  		AddSOAPBodyElement(pBody);
  	}
  	else
  		if (strHdQName == tagName)
  		{
  			SOAPHeader *pHd = new SOAPHeader(p_Elm);
  			AddSOAPHeader(pHd);
  		}
  		else
  			throw AxisException("Unexpected Element", 1);
  }
  
  
  void SOAPEnvelope::Serialize(XMLSerializer& serilizer)
  {
  	RegisterPrefixes(serilizer);
  
      // Build Envelope
  	AttList attList;
      serilizer.StartElem(m_qName, attList);
  	
  	// Serialize all the headers
  	for(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  		(*m_SOAPHdItr)->Serialize(serilizer);
  
  	// Serialize all the body elements
  	for(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  		(*m_SOAPBodyItr)->Serialize(serilizer);
  	
  	serilizer.flush();
  }
  
  void SOAPEnvelope::DeSerialize(XMLDeSerializer& dserilizer)
  {
  	// DeSerialize all the headers
  	for(m_SOAPHdItr = m_SOAPHeader.begin(); m_SOAPHdItr != m_SOAPHeader.end(); ++m_SOAPHdItr)
  		(*m_SOAPHdItr)->DeSerialize(dserilizer);
  
  	// DeSerialize all the body elements
  	for(m_SOAPBodyItr = m_SOAPBody.begin(); m_SOAPBodyItr != m_SOAPBody.end(); ++m_SOAPBodyItr)
  		(*m_SOAPBodyItr)->DeSerialize(dserilizer);
  }
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPEnvelope.hpp
  
  Index: SOAPEnvelope.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SOAPENVELOPE_HPP)
  #define _AXIS_SOAPENVELOPE_HPP
  
  
  #include "MessageElement.hpp"
  #include "SOAPBodyElement.hpp"
  #include "SOAPHeader.hpp"
  
  
  /**
   * Delare and define SOAP Envelop for serialization/Deserialization 
   * 
   * 
   * @brief  SOAP Envelop description.
   *
   */
  
  class SOAPEnvelope : public MessageElement  
  {
  public:
  	SOAPEnvelope();
  	SOAPEnvelope(const DOM_Element& p_Elm);
  	virtual ~SOAPEnvelope();
  
  	void AddSOAPBodyElement(SOAPBodyElement *p_pBody);
  	void AddSOAPHeader(SOAPHeader  *p_pHd);
  	bool RmSOAPBodyElement(const SOAPBodyElement& p_Body);
  	bool RmSOAPHeader(const SOAPHeader& p_Hd);
  
  	void  AddMsgElement(const DOM_Element& p_Elm);
  	const MessageElement* GetSOAPBodyElement();
  	
  	void Serialize(XMLSerializer& serilizer);
  	void DeSerialize(XMLDeSerializer& dserilizer);
  
  	template<typename T>
  	void RegisterPrefixes(T& contex)	
  	{
  		// Register namespace prefixes.
  		contex.RegisterPrefixForURI(ax::NSPREFIX_SCHEMA_XSD, ax::URI_2001_SCHEMA_XSD);
  		contex.RegisterPrefixForURI(ax::NSPREFIX_SOAP_ENV  , ax::URI_SOAP_ENV 	    );
  		contex.RegisterPrefixForURI(ax::NSPREFIX_SCHEMA_XSI, ax::URI_2001_SCHEMA_XSI);
  	}
  
  private:
  	std::vector<SOAPBodyElement*> m_SOAPBody;	///< for RPC this have only one entry for the time being
  	std::vector<SOAPHeader*> 	  m_SOAPHeader;	///< for RPC this have only one entry for the time being
  
  	std::vector<SOAPBodyElement*>::iterator m_SOAPBodyItr;///< for RPC this have only one entry for the time being
  	std::vector<SOAPHeader*>::iterator 	    m_SOAPHdItr;	 ///< for RPC this have only one entry for the time being
  
  };
  
  
  
  #endif // _AXIS_SOAPENVELOPE_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPFaultElement.cpp
  
  Index: SOAPFaultElement.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "AxisConst.hpp"
  #include "SOAPFaultElement.hpp"
  #include "XMLDeSerializer.hpp"
  #include "XMLSerializer.hpp"
  #include "AxisException.hpp"
  #include <dom/DOM_Element.hpp>
  
  
  
  SOAPFaultElement::SOAPFaultElement()
  {
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_FAULT);
  }
  
  SOAPFaultElement::SOAPFaultElement(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_FAULT);
  }
  
  SOAPFaultElement::~SOAPFaultElement()
  {
  
  }
  
  void SOAPFaultElement::AddMsgElement(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  
  	std::string tagName = p_Elm.getTagName().transcode();
  	
  	if(m_pElmNode.hasChildNodes())
  	{
  		DOM_Node child = m_pElmNode.getFirstChild();
  
  		if(child.getNodeType() == DOM_Node::TEXT_NODE 
  			|| child.getNodeType() == DOM_Node::CDATA_SECTION_NODE)
  		{
  			// For the time being just holds the fault states as strings
  			tagName = tagName.substr(tagName.find(':') + 1); // get local-part
  			m_strFault += tagName + " : " + child.getNodeValue().transcode() + "\r\n";
  		}
  	}
  	else
  		throw AxisException("Return data not found\n\n", 1);
  }
  
  
  void SOAPFaultElement::Serialize(XMLSerializer& serilizer)
  {
  	AttList attList;
      // Output <SOAP-ENV:Fault>
      serilizer.StartElem(m_qName, attList);
  
      // Output </SOAP-ENV:Fault>
      serilizer.EndElem();
  
  }
  
  void SOAPFaultElement::DeSerialize(XMLDeSerializer& dserilizer)
  {
  	dserilizer.DeSerialize(*this);
  	throw AxisException(m_strFault, 1);
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPFaultElement.hpp
  
  Index: SOAPFaultElement.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SOAPFAULT_ELEMENT_HPP)
  #define _AXIS_SOAPFAULT_ELEMENT_HPP
  
  #include "MessageElement.hpp"
  
  /**
   *	SOAPFault Element class is used for the mapping of the SOAP faults. 
   *	If the use attribute in the soap:fault is literal, the soap:fault maps 
   *	to the SOAPFault Element with an exception of AxisFault. 
   *
   *	@brief	SOAPFault Element class is used for the mapping of the SOAP faults. 
   */
  
  class SOAPFaultElement : public MessageElement
  {
  public:
  	SOAPFaultElement();
  	SOAPFaultElement(const DOM_Element& p_Elm);
  	virtual ~SOAPFaultElement();
  	void AddMsgElement(const DOM_Element& p_Elm);
  	void Serialize(XMLSerializer& serilizer);
  	void DeSerialize(XMLDeSerializer& dserilizer);
  
  private:
  	std::string m_strFault;
  };
  
  #endif // _AXIS_SOAPFAULT_ELEMENT_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPHeader.cpp
  
  Index: SOAPHeader.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "AxisConst.hpp"
  #include "SOAPHeader.hpp"
  #include "XMLDeSerializer.hpp"
  #include "XMLSerializer.hpp"
  
  
  
  SOAPHeader::SOAPHeader()
  {
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_HEADER);
  }
  
  SOAPHeader::SOAPHeader(const DOM_Element& p_Elm)
  {
  	SetMsgElm(p_Elm);
  	m_qName = ax::QName(ax::URI_SOAP_ENV, ax::ELEM_HEADER);
  }
  
  SOAPHeader::~SOAPHeader()
  {
  
  }
  
  void SOAPHeader::Serialize(XMLSerializer& serilizer)
  {
  	AttList attList;
      // Output <SOAP-ENV:Header>
      serilizer.StartElem(m_qName, attList);
  
      // Output </SOAP-ENV:Header>
      serilizer.EndElem();
  
  }
  
  void SOAPHeader::DeSerialize(XMLDeSerializer& dserilizer)
  {
  
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPHeader.hpp
  
  Index: SOAPHeader.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SOAPHEADER_HPP)
  #define _AXIS_SOAPHEADER_HPP
  
  #include "MessageElement.hpp"
  
  /**
   *	SOAPHeader Element class is used to map the SOAP Header as a Messag Element.
   *	For SOAP-RPC this class is not used
   *	
   *
   *	@brief	SOAPHeader is used to map the SOAP Header as a Messag Element 
   */
  
  class SOAPHeader  : public MessageElement
  {
  public:
  	SOAPHeader();
  	SOAPHeader(const DOM_Element& p_Elm);
  	virtual ~SOAPHeader();
  	void Serialize(XMLSerializer& serilizer);
  	void DeSerialize(XMLDeSerializer& dserilizer);
  
  
  };
  
  #endif // _AXIS_SOAPHEADER_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPMessage.cpp
  
  Index: SOAPMessage.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "SOAPMessage.hpp"
  #include "XMLSerializer.hpp"
  #include "XMLDeSerializer.hpp"
  #include "AxisException.hpp"
  #include <iostream>
  
  
  SOAPMessage::~SOAPMessage()
  {
  
  }
  
  const MessageElement * SOAPMessage::GetSOAPBodyElement()
  {
  	const MessageElement *body = m_envMsg.GetSOAPBodyElement();
  	return ((SOAPBodyElement*)body)->GetBody();		
  }
  
  const MessageElement* SOAPMessage::GetSOAPHeader()
  {
  	return NULL;		// TODO: need to return from the envelop
  }
  
  const MessageElement* SOAPMessage::GetSOAPEnvelop()
  {
  	return &m_envMsg;
  }
  
  
  void SOAPMessage::SetSOAPBodyElement(MessageElement *p_pMsgElm)
  {
  	SOAPBodyElement *body = new SOAPBodyElement(p_pMsgElm);
  	m_envMsg.AddSOAPBodyElement(body);
  }
  
  void SOAPMessage::SetSOAPHeader(MessageElement *p_pHd)
  {
  
  }
  
  void SOAPMessage::SetSOAPEnvelop(MessageElement * p_pEnv)
  {
  
  }
  
  void SOAPMessage::Serialize(TypeMappingRegistry* p_TypMapper)
  {
  	XmlWriter writer;
  	XMLSerializer serilizer(writer);
  
  	serilizer.SetTypeMappingRegistry(p_TypMapper);
  	m_envMsg.Serialize(serilizer);
  	m_Msg = writer.str();
  
  #ifdef _DEBUG
  	std::cout << writer.str();
  #endif
  }
  
  void  SOAPMessage::SetMsg(const std::string& p_Msg)
  {
  	// Try to get as SOAP message
  	std::string::size_type pos;
  
  	if((pos = p_Msg.find("<")) != std::string::npos)
  	{
  		m_Msg = p_Msg.substr(pos, p_Msg.rfind(">") - pos + 1);
  	}
  	else
  		throw AxisException("Error in Message ...", 1);
  }
  
  void SOAPMessage::DeSerialize(TypeMappingRegistry* p_TypMapper)
  {
  	//Set the string form of the SOAP envelop for deserialization.
  	XMLDeSerializer dserilizer(m_Msg);
  	dserilizer.SetTypeMappingRegistry(p_TypMapper);
  
  	try
  	{
  		//Generate Envelop from a string 
  		m_envMsg.RegisterPrefixes(dserilizer);
  		dserilizer.DeSerialize(m_envMsg);
  		m_envMsg.DeSerialize(dserilizer);
  	}
  	catch (AxisException& axExp)
  	{
  		std::cerr << axExp.GetErrorMsg() << std::endl;
  		// Clear trace message?? do we want to do this
  		axExp.Clear();
  		throw;
  	}
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPMessage.hpp
  
  Index: SOAPMessage.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_SOAPMESSAGE_HPP)
  #define _SOAPMESSAGE_HPP
  
  #include "SOAPBodyElement.hpp"	
  #include "SOAPHeader.hpp"	
  #include "SOAPEnvelope.hpp"
  
  
  class TypeMappingRegistry;
  
  
  class SOAPMessage
  {
  	public:
  		SOAPMessage() : m_Msg(""){}
  		SOAPMessage(std::string p_strMsg):m_Msg(p_strMsg){}
  		SOAPMessage(SOAPEnvelope& pEnv): m_Msg(""), m_envMsg(pEnv){}
  		virtual ~SOAPMessage();
  
  		const MessageElement* GetSOAPBodyElement();
  		const MessageElement* GetSOAPHeader();
  		const MessageElement* GetSOAPEnvelop();
  		void  SetSOAPBodyElement(MessageElement *);
  		void  SetSOAPHeader(MessageElement *);
  		void  SetSOAPEnvelop(MessageElement *);
  		const std::string& GetMsg(){return m_Msg;}
  		void  SetMsg(const std::string& p_Msg);
  
  		void Serialize(TypeMappingRegistry* p_TypMapper);
  		void DeSerialize(TypeMappingRegistry* p_TypMapper);
  
  
  	private:
  		std::string  m_Msg;
  		SOAPEnvelope m_envMsg;
  		
  };
  
  #endif // _SOAPMESSAGE_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPMsgContext.cpp
  
  Index: SOAPMsgContext.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "SOAPMsgContext.hpp"
  #include "Sender.hpp"
  #include "Receiver.hpp"
  #include "TransportFactory.hpp"
  #include "TypeMappingRegistry.hpp"
  #include <iostream>
  
  
  
  SOAPMsgContext::SOAPMsgContext()
  	:m_pTransportChannel(0), m_pReqMsg(0), m_pRepMsg(0)
  {
  	m_pTypeMpRegistry = new TypeMappingRegistry();
  }
  
  SOAPMsgContext::~SOAPMsgContext()
  {
  	delete m_pTransportChannel;
  	delete m_pTypeMpRegistry;
  	delete m_pRepMsg;
  	delete m_pReqMsg;
  }
  
  
  void SOAPMsgContext::RegisterTypeMapping(const std::string& typname, SerializerFactory * ser)
  {
  	m_pTypeMpRegistry->AddSerializerFactory(typname, ser);
  }
  
  void SOAPMsgContext::Invoke(RPCElement *p_pBody)
  {
  	try
  	{
  		m_pReqMsg = new SOAPMessage();
  
  		m_pReqMsg->SetSOAPBodyElement(p_pBody);
  		m_pReqMsg->Serialize(m_pTypeMpRegistry);
  
  		m_pTransportChannel = TransportFactory::GetTransport(m_ServiceUrl); 
  		m_pTransportChannel->SetProperty(ax::PROP_SOAPACTION, "");
  
  		Sender   request(m_pTransportChannel);
  		m_bRecv = request.Send(m_pReqMsg->GetMsg()); 
  
  		Receiver response(m_pTransportChannel);
  
  		if(m_bRecv)
  		{
  			m_pRepMsg = new SOAPMessage();
  			m_pRepMsg->SetMsg(response.Recv());
  			m_pRepMsg->DeSerialize(m_pTypeMpRegistry);
  		}
  	}
  	catch(AxisException& ex)
  	{
  		std::cerr << ex.GetErrorMsg() << std::endl;
  		throw;
  	}
  	catch(...)
  	{
  		std::cerr << "Unexpected Exception in SOAPMsgContext::Invoke() ....." << std::endl;
  		throw;
  	}
  }
  
  const MessageElement* SOAPMsgContext::GetResults()
  {
  	return m_pRepMsg->GetSOAPBodyElement();
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Message/SOAPMsgContext.hpp
  
  Index: SOAPMsgContext.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_SOAPMSGCONTEXT_HPP)
  #define _AXIS_SOAPMSGCONTEXT_HPP
  
  #include "SOAPMessage.hpp"	
  #include "TypeMappingRegistry.hpp"
  #include "Url.hpp"
  #include "Transport.hpp"
  
  
  class Serializer;
  class DeSerializer;
  class TypeMappingRegistry;
  
  
  class SOAPMsgContext  
  {
  public:
  	SOAPMsgContext();
  	virtual ~SOAPMsgContext();
  
  	void RegisterTypeMapping(const std::string& typname, SerializerFactory * ser);
  	void SetServiceURL(const std::string&  p_ServerURL){m_ServiceUrl = Url(p_ServerURL);}
  	void Invoke(RPCElement *p_pBody);
  	const MessageElement* GetResults();
  
  private:
  	SOAPMessage *m_pReqMsg;
  	SOAPMessage *m_pRepMsg;
  
  	TypeMappingRegistry* m_pTypeMpRegistry;
  
  	Url	 m_ServiceUrl;
  	Transport *m_pTransportChannel;
  	bool m_bRecv;
  	
  };
  
  #endif // _AXIS_SOAPMSGCONTEXT_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Channel.cpp
  
  Index: Channel.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "Channel.hpp"
  #include <iostream>
  
  #include "Transport.hpp"
  
  
  /**
   * Create a Channel & initialize
   * 
   */
  
  Channel::Channel() : m_Sock(INVALID_SOCKET)
  {
  
  }
  
  Channel::~Channel()
  {
  	CloseChannel();
  }
  
  
  /**
   * This channel open INET channel for the time being using primitive sockets
   * Do we need any other type of channel; like shared memory, pipes etc. ????
   * 
   * @param	p_RemoteNode	End point address as hostname/IP
   * @param	p_RemoteEnd		Port #
   *
   * @return  true if successfuly open a soket to the endpoint. o/w exception is thrown
   */
  
  bool Channel::Open(std::string& p_RemoteNode, unsigned short p_RemoteEnd) throw (ChannelException)
  {
  	m_RemoteNode = p_RemoteNode;
  	m_RemoteEnd  = p_RemoteEnd;
  
  	if(!Init())
  		throw ChannelException("Cannot initialize a channel to the remote end");
  
  	sockaddr_in clAddr, svAddr;			  
  
  	if ((m_Sock = socket(PF_INET, SOCK_STREAM, 0)) != INVALID_SOCKET)
  	{
  		clAddr.sin_family = AF_INET;     // AF_INET (address family Internet).
  		clAddr.sin_port   = 0; 			 // No Specify Port required
  		clAddr.sin_addr.s_addr = INADDR_ANY;
  
  		if (bind(m_Sock, (struct sockaddr*) &clAddr, sizeof(clAddr)) == SOCKET_ERROR)
  		{
  			Error("Error - Binding");
  			CloseChannel();
  			throw ChannelException("Cannot open a channel to the remote end, shutting down the channel");
  		}
  
  		// Although the above fragment makes use of the bind() API, it would be
  		// just as effective to skip over this call as there are no specific
  		// local port ID requirements for this client. The only advantage that
  		// bind() offers is the accessibility of the port which the system chose
  		// via the .sin_port member of the cli_addr structure which will be set
  		// upon success of the bind() call.
  
  		svAddr.sin_family = AF_INET;
  		svAddr.sin_port   = htons(m_RemoteEnd);
  
  		struct hostent*  pHostEntry = NULL;
  
  		// probably this is the host-name of the server we are connecting to
  		if((pHostEntry = gethostbyname(m_RemoteNode.c_str())))
  		{
  			svAddr.sin_addr.s_addr = ((struct in_addr *)pHostEntry->h_addr)->s_addr;
  		}
  		else
  		{
  			// no this is the IP address
  			svAddr.sin_addr.s_addr = inet_addr(m_RemoteNode.c_str());	
  		}
  
  		// connect to the remote server.
  		if (connect(m_Sock,(struct sockaddr*)&svAddr, sizeof(svAddr)) == SOCKET_ERROR)
  		{
  			Error("Sockets error Couldn't connect socket.");
  			CloseChannel();
  			throw ChannelException("Cannot open a channel to the remote end, shutting down the channel");
  		}
  	}
  	else
  	{
  		Error("Sockets error Couldn't create socket.");
  		CloseChannel();
  		throw ChannelException("Cannot open a channel");
  	}
  	return true;
  }
  
  /**
   * OS specific initialization should do here
   *
   * @return  true if successfuly initilaize OS specific stuffs. false o/w
   */
  
  bool Channel::Init()
  {
  #if defined(WIN32)
  
  	WSADATA wsaData;			// contains vendor-specific information, such as the
  								// maximum number of sockets available and the maximum
  								// datagram size.
  
  	if(WSAStartup(WS_VERSION_REQD, &wsaData))  //Filled by Windows Sockets DLLs
  	{
  		m_LastErr = "WinSock DLL not responding.";
  		Error((char *)m_LastErr.c_str());
  		return false;
  	}
  	else
  	{ 
  		// Query to see whether the available version matches what we need
  		if (( LOBYTE (wsaData.wVersion) < WS_VERSION_MAJOR()) ||
  			 (LOBYTE (wsaData.wVersion) == WS_VERSION_MAJOR() &&
  			  HIBYTE (wsaData.wVersion) < WS_VERSION_MINOR()))
  		{
  			char buf[100];
  			sprintf(buf,"Windows Sockets version %d.%d not supported by winsock2.dll",
  						LOBYTE (wsaData.wVersion), HIBYTE (wsaData.wVersion));
  			Error(buf);
  			CloseChannel();
  			return false;
  		}
  	}
  #else
  
  	// other OS specific Intitialization goes here
  #endif
  	return true;
  }
  
  /**
   * Write/send a message to the remote server; sending blocks the app.
   * we may need to do this asynchronizely; preferably either non-blocking
   * send or pthread.
   *
   * @param	Message to be written to the open channel
   */
  const Channel& Channel::operator << (const std::string& msg)
  {
  	if(INVALID_SOCKET == m_Sock) 
  	{
  		Error("Writing cannot be done without having a open socket to remote end.");
  		throw ChannelException("Output streaming error on undefined channel; please open the channel first");
  	}
  
  	int size = msg.size(), nByteSent;
  	
  	if((nByteSent = send(m_Sock, (char *)msg.c_str(), size, MSG_DONTROUTE )) == SOCKET_ERROR)
  	{
  		Error("Output streaming error while writing data.");
  		CloseChannel();
  		throw ChannelException("Output streaming error on Channel while writing data");
  	}
  
  	return *this;
  }
  
  /**
   * Read/receive a message from the remote server; reading may be done in chunks.
   *
   * @param	string to hold the read Message 
   */
  
  const Channel& Channel::operator >> (std::string& msg)
  {
  	if(INVALID_SOCKET == m_Sock) 
  	{
  		Error("Reading cannot be done without having a open socket.");
  		throw ChannelException("Input streaming error on undefined channel; please open the channel first");
  	}
  
  	int nByteRecv = 0;
  	const int BUF_SIZE = 4096;
  	char buf[BUF_SIZE];
  	
  	do	// Manage multiple chuncks of the message
  	{
  		if ((nByteRecv = recv(m_Sock, (char *) &buf, BUF_SIZE - 1, 0)) == SOCKET_ERROR)
  		{
  			Error("Channel error while getting data.");
  			CloseChannel();
  			throw ChannelException("Input streaming error on Channel while getting data");
  		}
  
  		if(nByteRecv)
  		{
  			buf[nByteRecv + 1] = '\0';	// got a part of the message, so add it to form 
  			msg += buf;					// the whole message
  
  			//Validate according to the transport; check whether we are in a position to return.
  			if (!m_pTransportHandler->GetStatus(msg)) 
  				break;
  		}
  		else
  			break; // we have the whole message or an error has occured
  	 }
  	 while (true);
  
  	 return *this;
  }
  
  /**
   *	Close, and clean-up any OS specific stuff
   *
   */
  
  void Channel::CloseChannel()
  {
  #ifdef WIN32
  	if(INVALID_SOCKET != m_Sock)
  		closesocket(m_Sock);
  	
  	// Check for any possible error conditions from WSACleanup() and report
  	// them before exiting, as this information might indicate a network
  	// layer problem in the system.
  
  	WSACleanup();
  #else
  	if(INVALID_SOCKET != m_Sock)
  		close(m_Sock);
  
  #endif
  }
  
  /**
   * Log any errors that cause on channel usage/initilaization
   *
   */
  
  void Channel::Error(const char * err)
  {
  #ifdef _DEBUG
  	std::cerr << err << std::endl;
  #endif
  }
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Channel.hpp
  
  Index: Channel.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_CHANNEL_HPP)
  #define _AXIS_CHANNEL_HPP
  
  #include <string>
  
  
  // platform specific stuff
  
  #if (defined(_LINUX) || defined(_SUNOS) || defined(_AIX) || defined(_UNIX))
  
  
  #include	<unistd.h>
  #include	<sys/types.h>	// basic system data types 
  #include	<sys/socket.h>	// basic socket definitions
  #include	<fcntl.h>		// for nonblocking if need
  #include	<netdb.h>
  #include 	<netinet/in.h>
  #include	<arpa/inet.h>	// inet(3) functions
  
  const unsigned int INVALID_SOCKET =  0;
  const int		   SOCKET_ERROR   = -1;
  
  // Other OS specific stuff goes here
  
  
  #elif  defined(WIN32)
  
  #include <winsock2.h>
  
  // what version of WinSock is required 
  const int	WS_VERSION_REQD	= 0x0101;
  
  // macros to get version major & minor
  inline WS_VERSION_MAJOR() {return HIBYTE(WS_VERSION_REQD);}
  inline WS_VERSION_MINOR() {return LOBYTE(WS_VERSION_REQD);}
  
  
  #endif
  
  
  /**
   *
   * Implements primitive socket exceptions that should be handle by the transport
   * that the SOAP message is carring
   *	
   * @brief     The primitive socket exception for tranport layer to handle.
   *
   */
  
  class ChannelException
  {
  	public:
  		/// Create with a possible cause of the exception
  		ChannelException(std::string p_Err){m_Error = p_Err;}
  		~ChannelException(){}
  
  		/// Return the cause of exception
  		const std::string& GetErr(){return m_Error;}
  
  	private:
  
  		std::string m_Error;  ///< cause of exception 
  };
  
  
  
  
  class Transport;
  
  /**
   * 
   * Implements primitive socket connection for all platforms, for sending/receiving
   * SOAP Envelops with given transport; This implementation abstract the low-level
   * communications.
   *	
   * @brief     The primitive socket implementation for SOAP Envelops passing.
   *
   */
  
  class Channel  
  {
  public:
  	Channel();
  	~Channel();
  
  	/// Open a socket to a given remote node/server address with remote port
  	bool  Open(std::string& p_RemoteNode, unsigned short p_RemoteEnd) throw (ChannelException);
  
  	/// Close all open sockets and clean up
  	void  Close(){CloseChannel();}
  
  	/// Read from a open socket and store read message in msg
  	const Channel& operator >> (std::string& msg);
  	
  	/// Write a given message (msg) to the end-point using the open socket
  	const Channel& operator << (const std::string& msg);
  	
  	/// Return last error (if any).
  	const std::string& GetLastError(){return m_LastErr;}
  
  	/// Set the SOAP transport handler.
  	void SetTransportHandler(Transport* transport){m_pTransportHandler = transport;}
  
  private:
  	/// OS specific initilization
  	bool Init();
  
  	/// Report error on read/write
  	void Error(const char * err);
  
  	/// Close & clean-up the open socket/system resources
  	void CloseChannel();
  
  	unsigned int	m_Sock;				///< Socket descriptor
  	std::string		m_RemoteNode;		///< Remote address could be IP/host-name
  	unsigned short	m_RemoteEnd;		///< Remote port number
  	std::string		m_LastErr;			///< Last error as a string 
  
  	Transport	* m_pTransportHandler;	///< Transport handler for validation purpose
  };
  
  
  
  
  #endif // _AXIS_CHANNEL_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/HttpTransport.cpp
  
  Index: HttpTransport.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "HttpTransport.hpp"
  #include <iostream>
  #include "AxisException.hpp"
  
  /**
   *	Shutdown any established channel
   */
  
  HttpTransport::~HttpTransport()
  {
  	m_Channel.Close();
  }
  
  /**
   *	Initialize HTTP transport by establishing a channel to the remote end.
   *
   *	@return		Status of the channel establishment to the remote end provided by m_Url
   *  @trows		Channel Exception
   */
  
  bool HttpTransport::Init()
  {
  	// open a channel for transport
  	try
  	{
  		m_bStatus = true;
  		std::string host = m_Url.GetHostName();
  		m_Channel.Open(host, m_Url.GetPort());
  		m_Channel.SetTransportHandler(this);
  	}
  	catch(ChannelException& chEx)
  	{
  		std::cerr << chEx.GetErr() << std::endl;
  		throw;
  	}
  	return true;
  }
  
  
  /**
   *	Set properties of HTTP transport such as additional Header fields like SOAPAction.
   *
   *	@param	p_Property	Property name;  such as SOAPAction
   *	@param	p_Value		Property value
   */
  
  void  HttpTransport::SetProperty(const std::string& p_Property, const std::string& p_Value)
  {
  	m_AdditionalHeader.push_back(std::make_pair(p_Property, p_Value));
  }
  
  
  /**
   *	Read from a HTTP transport handler and store read payload.
   *
   *	@param	p_Payload	SOAP Envelop as Payload for HTTP transport
   *
   */
  
  const Transport& HttpTransport::operator >> (std::string& p_Payload)
  {
  	if(!m_bStatus) 
  	{
  		// We have the payload; this is due to Fault request made in earlier call 
  		// to this method
  		p_Payload = m_PayLoad;
  		return *this;
  	}
  
  	std::string tmpPacket;	// use temporary, need to workout for this
  	m_Channel >> tmpPacket;
  
  #ifdef _DEBUG
  	std::cout << "\n\n\nGot the message:\r\n\r\n" << tmpPacket << "\n\n";
  #endif
  	
  	// Validate the HTTP packet
  	if(!m_bStatus) HTTPValidate(tmpPacket);
  
  	// At this point we have the payload at hand so give it out
  	p_Payload = m_PayLoad;
  	return *this;
  }
  
  
  /**
   *	Write a given payload to the established channel by using HTTP transport as carrier.
   *
   */
  
  const Transport& HttpTransport::operator << (const std::string& p_Payload)
  {
  	HTTPBind(p_Payload);	// Bind the SOAP-Envelop with HTTP headers
  
  #ifdef _DEBUG
  	std::cout << "\n\n\n";
  	std::cout << m_OutMsg.str() << std::endl;
  #endif
  
  	// Write to the established channel
  	m_Channel << m_OutMsg.str();
  	return *this;
  }
  
  
  /**
   *	Build a HTTP packet with a given payload & additional HTTP properties
   *  Uses HTTP 1.1; if HTTP 1.0 is required we have to manage with setting 
   *	the properties. Only POST is supported for the time being; hope to
   *	support M-POST
   *
   */
  
  void HttpTransport::HTTPBind(const std::string& p_Payload)
  {
  	if(m_Typ == POST)				// only POST is supported for now, wish-list: M-POST??
  		m_OutMsg << "POST ";
  
  	// Use HTTP 1.1; if HTTP 1.0 is required we have to manage with setting the properties
  	m_OutMsg << m_Url.GetResource() << " HTTP/1.1\r\n"; // no support for proxy server yet
  	m_OutMsg << "Host: " << m_Url.GetHostName();
  
  	unsigned short port = m_Url.GetPort();
  
  	if(port != HTTP_PORT)
  		m_OutMsg << ":" << port;
  
  	m_OutMsg << "\r\n";
  	m_OutMsg << "Content-Type: text/xml; charset=\"UTF-8\"\r\n";	// We have to support other charsets
  	m_OutMsg << "Content-Length: " << p_Payload.size() << "\r\n";
  	
  	//Set header values for additional prefixes, such as SOAPAction
  	for(int i=0; i < m_AdditionalHeader.size(); i++)
  		m_OutMsg << m_AdditionalHeader[i].first << ": \"" 
  		         << m_AdditionalHeader[i].second << "\"\r\n";
  
  	m_OutMsg << "\r\n";
  	m_OutMsg << p_Payload;
  }
  
  
  /**
   *	Obtain the status of the HTTP packet validity.
   *
   *	@param	p_HttpPacket	HTTP packet
   *
   *	@return					Status of the HTTP packet validity.
   */
  
  bool HttpTransport::GetStatus(const std::string& p_HttpPacket)
  {
  	HTTPValidate(p_HttpPacket);
  	return m_bStatus;
  }
  
  
  /**
   *	Validate HTTP packets received from the channel.
   *
   *	@param	p_HttpPacket	HTTP packet
   *	
   *	@return					Status code is set
   */
  
  void HttpTransport::HTTPValidate(const std::string& p_HttpPacket)
  {
  	// for the time being just get the payload. Here we need much work
  
  	m_bStatus = true;
  	std::string::size_type pos = p_HttpPacket.find('\n'), nxtpos;
  
  	int nHttpSatus;
  
  	if(pos == std::string::npos) return; //unexpected string
  
  	std::string strLine = p_HttpPacket.substr(0, pos + 1);
  	std::string::size_type offset = pos + 1;
  
  	// Check for HTTP header validity; HTTP 1.0 / HTTP 1.0 is supported.
  	if((pos = strLine.find("HTTP/1.0")) != std::string::npos
  		|| (pos = strLine.find("HTTP/1.1")) != std::string::npos)
  	{
  		if(((pos = strLine.find_first_of("\" ", pos + strlen("HTTP/1.x"))) 
  			!= std::string::npos) &&
  			(nxtpos = strLine.find_first_of("\" ", pos)) != std::string::npos)
  		{
  			pos++;
  			// Get the HTTP status code of the packet obtained
  			nHttpSatus = atoi(strLine.substr(pos, nxtpos - pos).c_str())/100;
  		}
  		else
  			return;
  
  
  		// Status code is 2xx; so valid packet. hence go ahead and extract the payload.
  		if(nHttpSatus == 2)
  		{
  			GetPayLoad(p_HttpPacket, offset);
  		}
  		else if(nHttpSatus == 3)	// Status code is 3xx; some error has occurred
  		{
  			// error recovery mechanism should go here
  			Error(p_HttpPacket.c_str());
  			throw ChannelException("HTTP Error, cannot process response message...");
  		}
  		else if(nHttpSatus == 4)	// Status code is 4xx; some error has occurred
  		{
  			// error recovery mechanism should go here
  			Error(p_HttpPacket.c_str());
  			throw ChannelException("HTTP Error, cannot process response message...");
  		}
  		else if(nHttpSatus == 5)	// Status code is 5xx; some error has occurred
  		{
  			// error recovery mechanism should go here
  			GetPayLoad(p_HttpPacket, offset);
  			if (!m_bStatus) 
  			{
  				Error(p_HttpPacket.c_str());
  				throw AxisFault("HTTP Error, cannot process response message...", 1);
  			}
  		}
  	}
  	else
  		throw ChannelException("Unknow HTTP response, cannot process response message...");
  
  }
  
  
  /**
   *	Extract payload from the HTTP packet starting from a given offset
   *
   */
  
  void HttpTransport::GetPayLoad(const std::string& p_HttpPacket, std::string::size_type& offset)
  {
  	std::string::size_type pos, nxtpos;
  	std::string strLine;
  	int len=0;
  
  	// process rest of the HTTP packet
  	while (true)
  	{
  		if((nxtpos = p_HttpPacket.find('\n', offset)) == std::string::npos) return;
  		nxtpos++;
  		strLine = p_HttpPacket.substr(offset, nxtpos - offset);
  		offset = nxtpos;
  
  		if((strLine == "\r\n") || (strLine == "\n") || strLine.size() <= 1)
  			break;
  
  		// Get the payload size from the header.
  		if((pos = strLine.find("Content-Length:")) != std::string::npos) 
  			len = atoi(strLine.substr(pos + strlen("Content-Length: ")).c_str());
  	}
  	m_PayLoad = p_HttpPacket.substr(offset);
  
  	if( m_PayLoad.size() >= len)
  		m_bStatus = false;
  }
  
  
  /**
   *	Report error on read/write
   *
   */
  
  void HttpTransport::Error(const char * err)
  {
  #ifdef _DEBUG
  	std::cerr << err << std::endl;
  #endif
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/HttpTransport.hpp
  
  Index: HttpTransport.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_HTTPTRANSPORT_HPP)
  #define _AXIS_HTTPTRANSPORT_HPP
  
  #include <sstream>
  #include <vector>
  #include "Transport.hpp"
  
  
  /**
   * 
   * Implements HTTP transport as SOAP-Envelop carrier, for sending/receiving
   * SOAP messages with HTTP 1.1/1.0; This implementation abstract the Transport layer for the
   * SOAP payloads
   *	
   * @brief     The HTTP transport implementation for SOAP 
   *
   */
  
  
  
  class HttpTransport  : public Transport
  {
  public:
  	/// HTTP category, Only POST is used currently, MPOST is not supported yet
  	enum Type{POST, MPOST};
  
  	/// Create HTTP transport with provided URL as remote address, set HTTP category default to POST
  	HttpTransport(Url url) : m_Typ(POST) {m_Url = url;}
  
  	/// Create HTTP transport with provided remote address as URL-string, set HTTP category default to POST
  	HttpTransport(std::string& strUrl) : m_Typ(POST) {m_Url = Url(strUrl); m_strUrl = strUrl;}
  	~HttpTransport();
  
  	/// Initialize HTTP transport by establishing a channel to the remote end.
  	bool  Init();
  
  	/// Obtain the status of the HTTP packet validity
  	bool  GetStatus(const std::string& p_HttpPacket);
  
  	/// Set properties of HTTP transport such as additional Header fields like SOAPAction.
  	void  SetProperty(const std::string& p_Property, const std::string& p_Value);
  
  	/// Read from a HTTP transport handler and store read payload
  	const Transport& operator >> (std::string& p_Payload);
  
  	/// Write a given payload by using HTTP transport as carrier
  	const Transport& operator << (const std::string& p_Payload);
  
  private:
  	/// Build a HTTP packet with a given payload & additional HTTP properties
  	void HTTPBind(const std::string& p_Payload);
  
  	/// Validate HTTP packets received from the channel.
  	void HTTPValidate(const std::string& p_HttpPacket);
  
  	/// Extract payload from the HTTP packet starting from a given offset
  	void GetPayLoad(const std::string& p_HttpPacket, std::string::size_type& offset);
  
  	/// Report error on read/write
  	void Error(const char * err);
  
  private:
  
  	typedef std::vector< std::pair<std::string, std::string> > Header_t; 
  
  	Type m_Typ;						///< Type of the HTTP; POST or MPOST
  
  	std::ostringstream m_OutMsg;	///< Holds	outgoing HTTP packet
  	std::istringstream m_InMsg;		///< Holds	incoming HTTP packet
  
  	std::string m_PayLoad;			///< Holds the payload
  	Header_t	m_AdditionalHeader; ///< Additional Header fields as name value pairs
  
  };
  
  #endif //_AXIS_HTTPTRANSPORT_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Transport directory
  #
  #
  BASE_PATH = ../..
  include ../../inc.mk
  
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Transport
  
  TRANSPORT_SRCS = Channel.cpp \
  	HttpTransport.cpp \
  	Receiver.cpp \
  	Sender.cpp \
  	Transport.cpp \
  	TransportFactory.cpp
  
  
  TRANSPORT_OBJS = $(TRANSPORT_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o)  
  
  
  OBJS = $(TRANSPORT_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Receiver.cpp
  
  Index: Receiver.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "Receiver.hpp"
  #include "Transport.hpp"
  #include "AxisException.hpp"
  #include <iostream>
  
  
  Receiver::~Receiver()
  {
  
  }
  
  const std::string& Receiver::Recv() throw (AxisException)
  {
  	try
  	{
  		*m_pTrChannel >> repMsg;
  	}
  	catch(AxisFault& ex)
  	{
  		// Get the fault message.
  		*m_pTrChannel >> repMsg;
  		#ifdef _DEBUG
  			std::cerr << ex.GetErrorMsg() << std::endl;
  		#endif
  	}
  	catch(...)
  	{
  		throw AxisException("Exception on receiving the message", 1);
  	}
  
  	return repMsg;
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Receiver.hpp
  
  Index: Receiver.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_RECEIVER_HPP)
  #define _AXIS_RECEIVER_HPP
  
  #include "SOAPMessage.hpp"	
  #include "AxisException.hpp"
  
  class Transport;
  
  
  class Receiver  
  {
  public:
  	Receiver(Transport *pTr) : repMsg(""), m_pTrChannel(pTr){}
  	~Receiver();
  
  	const std::string& Recv() throw (AxisException);
  
  private:
  	std::string repMsg;
  
  	Transport *m_pTrChannel;
  
  	unsigned int m_RecvPort;
  };
  
  #endif // _AXIS_RECEIVER_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Sender.cpp
  
  Index: Sender.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "Sender.hpp"
  #include "Transport.hpp"
  
  
  
  Sender::Sender(Transport *pTr)
  	: m_pTrChannel(pTr)
  {
  
  }
  
  Sender::~Sender()
  {
  
  }
  
  bool Sender::Send(const std::string& what) throw (AxisException)
  {
  	try
  	{
  		m_pTrChannel->Init();
  
  		*m_pTrChannel << what;
  	}
  	catch(...)
  	{
  		throw AxisException("Exception on sending the message", 1);
  	}
  
  	return true;
  }
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Sender.hpp
  
  Index: Sender.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_SENDER_HPP)
  #define _AXIS_SENDER_HPP
  
  #include "SOAPMessage.hpp"	
  #include "AxisException.hpp"
  
  class Transport;
  
  class Sender  
  {
  	public:
  		Sender(Transport *pTr);
  		~Sender();
  	
  		bool Send(const std::string& what) throw (AxisException);
  
  	private:
  		Transport	*m_pTrChannel;
  };
  
  #endif // _AXIS_SENDER_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Transport.cpp
  
  Index: Transport.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "Transport.hpp"
  
  
  
  Transport::Transport()
  {
  
  }
  
  Transport::~Transport()
  {
  
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/Transport.hpp
  
  Index: Transport.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  
  #if !defined(_AXIS_TRANSPORT_HPP)
  #define _AXIS_TRANSPORT_HPP
  
  #include "Url.hpp"
  #include "Channel.hpp"
  	
  /**
   * 
   *	Implements Transport as SOAP-Envelop carrier, for sending/receiving
   *	SOAP Envelops with any protocol; This implementation abstract the 
   *	Transport layer for the SOAP payloads
   *	
   *	@brief     The Transport interface for SOAP envelop carrier 
   *
   */
  
  class Transport  
  {
  public:
  	Transport();
  	virtual ~Transport();
  
  	virtual bool Init() { return false;}	  // Initialize transport channel
  	virtual bool GetStatus(const std::string& payload){return m_bStatus;}
  	virtual void SetProperty(const std::string& p_Property, const std::string& p_Value){}
  
  
  	virtual const Transport& operator >> (std::string& msg){return *this;}
  	virtual const Transport& operator << (const std::string& msg){return *this;}
  
  
  protected:
  
  	Url m_Url;
  	std::string m_strUrl;           
  	Channel m_Channel;
  
  	bool m_bStatus;
  
  };
  
  #endif // _AXIS_TRANSPORT_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/TransportFactory.cpp
  
  Index: TransportFactory.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "TransportFactory.hpp"
  #include "HttpTransport.hpp"
  
  
  
  TransportFactory::TransportFactory()
  {
  
  }
  
  TransportFactory::~TransportFactory()
  {
  
  }
  
  Transport* TransportFactory::GetTransport(Url& url)
  {
  	if(url.GetProtocol() == Url::http)
  	{
  		return new HttpTransport(url);
  	}
  	else if(url.GetProtocol() == Url::https)
  	{
  		return NULL; // currently not supported
  	}
  	else if(url.GetProtocol() == Url::ftp)
  	{
  		return NULL; // currently not supported
  	}
  	else
  		return NULL; // currently not supported
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Transport/TransportFactory.hpp
  
  Index: TransportFactory.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_TRANSPORTFACTORY_HPP)
  #define _AXIS_TRANSPORTFACTORY_HPP
  
  #include "Url.hpp"
  
  class Transport;
  
  
  /**
   *	Create undeline transport for SOAP-Envelops carrier for a given URL
   *	URL determine which transport to be instantiated for carring SOAP
   *	Envelop.
   *
   *	@todo	Hope this require of creating Transport by specifing a property
   *			such as name; not just the URL.
   *	@brief  The Transport Factory to instantiate a Tranport for SOAP envelop carring
   *
   */
  
  
  
  class TransportFactory  
  {
  public:
  	TransportFactory();
  	virtual ~TransportFactory()=0;
  
  	static Transport* GetTransport(Url& url); // return transport object according to URL info
  };
  
  #endif // _AXIS_TRANSPORTFACTORY_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/AttList.hpp
  
  Index: AttList.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_ATTLIST_HPP)
  #define _AXIS_ATTLIST_HPP
  
  #include <utility>
  #include <string>
  #include "QName.hpp"
  
  
  /**
   * This is defined for use with Axis as Attribute list to form 
   * a SOAP-Envelop.
   *	
   *@brief     Attribute List for XML
   *
   */
  
  class AttList
  {
  public:
  	AttList(){}
  
  	/// Add an attribute to the List
  	void Add(ax::QName& name, const std::string& value)	
  	{
  		m_Attribs.push_back(std::make_pair(name, value));
  	}
  	/// Get the length of the attribute List
  	int getLength(){return m_Attribs.size();}
  	/// Get attribute qualified name for index i
  	const std::string getName(int i){return m_Attribs[i].first.toString();}
  	/// Get attribute value for index i
  	const std::string getValue(int i){return m_Attribs[i].second;}
  
  private:
  	typedef std::pair<ax::QName, std::string> Attrib_t; ///< define the type for holding attributes
  
  	std::vector<Attrib_t > m_Attribs;	///< List of attributes
  };
  
  
  #endif //_AXIS_ATTLIST_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/AxisConst.hpp
  
  Index: AxisConst.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_CONST_H)
  #define _AXIS_CONST_H
  
  #include <string>
  
  
  namespace ax
  {
  	static const std::string NSPREFIX_SOAP_ENV   = "SOAP-ENV" ;
      static const std::string NSPREFIX_SOAP_ENC   = "SOAP-ENC" ;
      static const std::string NSPREFIX_SCHEMA_XSI = "xsi" ;
      static const std::string NSPREFIX_SCHEMA_XSD = "xsd" ;
  
  	static const std::string ELEM_ENVELOPE = "Envelope" ;
      static const std::string ELEM_HEADER   = "Header" ;
      static const std::string ELEM_BODY     = "Body" ;
      static const std::string ELEM_FAULT    = "Fault" ;
      
      static const std::string ELEM_MISUNDERSTOOD = "Misunderstood";
  
      static const std::string ELEM_FAULT_CODE   = "faultcode" ;
      static const std::string ELEM_FAULT_STRING = "faultstring" ;
      static const std::string ELEM_FAULT_DETAIL = "detail" ;
      static const std::string ELEM_FAULT_ACTOR  = "faultactor" ;
  
      static const std::string ATTR_MUST_UNDERSTAND = "mustUnderstand" ;
      static const std::string ATTR_ENCODING_STYLE  = "encodingStyle" ;
      static const std::string ATTR_ACTOR           = "actor" ;
      static const std::string ATTR_ROOT            = "root" ;
      static const std::string ATTR_ID              = "id" ;
      static const std::string ATTR_HREF            = "href" ;
      static const std::string ATTR_QNAME           = "qname";
      static const std::string ATTR_ARRAY_TYPE      = "arrayType";
      static const std::string ATTR_OFFSET          = "offset";
      static const std::string ATTR_POSITION        = "position";
  
  	static const std::string PROP_SOAPACTION	  = "SOAPAction";
  
  	static const std::string NS_URI_XMLNS  = "http://www.w3.org/2000/xmlns/";
  	static const std::string AXIS_NS	   = "http://xml.apache.org/axis/";
      
      //
      // SOAP 1.1 constants
      //
      static const std::string URI_SOAP_ENV   = "http://schemas.xmlsoap.org/soap/envelope/" ;
      static const std::string URI_SOAP_ENC   = "http://schemas.xmlsoap.org/soap/encoding/" ;
      static const std::string URI_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next" ;
      
      //
      // SOAP 1.2 constants
      //
  	static const std::string URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
  	static const std::string URI_2001_SCHEMA_XSI = "http://www.w3.org/2001/XMLSchema-instance";
      static const std::string URI_SOAP12_ENV = "http://www.w3.org/2001/06/soap-envelope";
      static const std::string URI_SOAP12_ENC = "http://www.w3.org/2001/06/soap-encoding";
      static const std::string URI_SOAP12_NEXT_ACTOR = "http://www.w3.org/2001/06/soap-envelope/actor/next";
      static const std::string URI_SOAP12_FAULT_NS   = "http://www.w3.org/2001/06/soap-faults";
      static const std::string URI_SOAP12_UPGRADE_NS = "http://www.w3.org/2001/06/soap-upgrade";
  
  	static const std::string URI_CURRENT_SOAP_ENV   = URI_SOAP12_ENV;
  	static const std::string URI_CURRENT_SCHEMA_XSD = URI_2001_SCHEMA_XSD;
  	static const std::string URI_CURRENT_SCHEMA_XSI = URI_2001_SCHEMA_XSI;
  
  	static const std::string XML_SCHEMA_INSTANCE_TYPE = NSPREFIX_SCHEMA_XSI + ":" + "type";
  	static const std::string XML_SCHEMA_INSTANCE_NIL  = NSPREFIX_SCHEMA_XSI + ":" + "nil";
  };
  
  
  #endif //_AXIS_CONST_H
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/AxisException.cpp
  
  Index: AxisException.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "AxisException.hpp"
  
  
  /**
   * Create a exception with a cause of exception & level of severity
   *
   * @param	p_Err	Cause of exception
   * @param	p_Lvl	severity level of the exception thrown
   */
  
  AxisException::AxisException(std::string p_Err, unsigned short p_Lvl)
  	: m_Error(p_Err),  m_Lvl(p_Lvl)
  {
  
  }
  
  AxisException::~AxisException()
  {
  
  }
  
  
  /**
   * Create a Fault exception with a cause of exception & level of severity
   *
   * @param	p_Err	Cause of exception
   * @param	p_Lvl	severity level of the exception thrown
   */
  
  AxisFault::AxisFault(std::string p_Err, unsigned short p_Lvl)
  {
  	m_Error = p_Err,  m_Lvl = p_Lvl;
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/AxisException.hpp
  
  Index: AxisException.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  #if !defined(_AXIS_AXISEXCEPTION_HPP)
  #define _AXIS_AXISEXCEPTION_HPP
  
  #include <string>
  
  /**
   * General Exception handler for Axis
   *	
   * @brief     General Exception handler
   *
   */
  
  class AxisException  
  {
  	public:
  		AxisException(){m_Lvl=0;}
  
  		/// Create with a cause of exception & level of severity
  		AxisException(std::string p_Err, unsigned short p_Lvl);
  		virtual ~AxisException();
  
  		///Get the cause of exception
  		const std::string& GetErrorMsg(){return m_Error;}
  
  		///Get the cause of exception & level of severity
  		const std::string& GetErrorMsg(unsigned short p_Lvl){return m_Error;}
  		void  Clear(){m_Error.erase();}
  
  	protected:
  
  		std::string m_Error;   ///< cause of exception info
  		unsigned short m_Lvl;  ///< seviarity of the exception.
  };
  
  
  /**
   * SOAP Fault map as exceptions, handler for Axis
   *	
   * @brief     SOAP Fault as exceptions
   *
   */
  
  class AxisFault : public AxisException
  {
  	public:
  		/// Create with a cause of exception & level of severity
  		AxisFault(std::string p_Err, unsigned short p_Lvl);		
  		~AxisFault(){}
  };
  
  #endif // _AXIS_AXISEXCEPTION_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Util directory
  #
  #
  BASE_PATH = ../..
  include ../../inc.mk
  
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Util
  
  
  UTIL_SRCS = AxisException.cpp \
  	NsStack.cpp \
  	QName.cpp \
  	Url.cpp
  
  
  UTIL_OBJS = $(UTIL_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o) 
  
  
  OBJS = $(UTIL_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/NsStack.cpp
  
  Index: NsStack.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "NsStack.hpp"
  
  
  /**
   * Finds namespace URI in the map
   */
  const std::string NsMap::findURI(const std::string& uri)
  {
  	NsMap_t::iterator itr;
  	for(itr=begin();itr!=end();++itr)
  	{
  		if(itr->first == uri) return itr->second;
  	}
  	return std::string("");
  }
  
  
  /**
   * Find namaspace prefix in the map
   */
  const std::string NsMap::findPrefix(const std::string& prefex)
  {
  	NsMap_t::iterator itr;
  	for(itr=begin();itr!=end();++itr)
  	{
  		if(itr->second == prefex) return itr->first;
  	}
  	return std::string("");
  }
  
  /**
   *	Add namesppace prefix mapping for a URI
   */
  void NsStack::Add(const std::string& uri, const std::string& prefix)
  {
  	if(!Ns.empty())
  	{
  		NsMap *tmpMap = Peek();
  		tmpMap->insert(std::make_pair(uri, prefix));
  	}
  	else
  	{
  		NsMap tmpMap;
  		tmpMap.insert(std::make_pair(uri, prefix));
  		Ns.push_back(tmpMap);
  		Indx++;
  	}
  }
  
  /**
   *	push an empty map on the stack
   */
  void NsStack::Push()
  {
  	NsMap tmpMap;
  	tmpMap.insert(std::make_pair(std::string(""), std::string("")));
  	Ns.push_back(tmpMap);
  	Indx++;
  }
  
  /**
   *	Get map at the top of the stack
   */
  
  NsMap* NsStack::Peek() 
  {
  	if(Ns.empty()) return NULL;
  	return &Ns[Indx];
  }
  
  /**
   *	Remove a namespace mapping
   */
  void NsStack::Pop()
  {
  	if(Indx>=0)
  	{
  		Ns.pop_back();
  		Indx--;
  	}
  }
  
  /**
   *	Get a prefix for a given namespace URI
   *
   */
  
  const std::string NsStack::GetPrefix(const std::string& uri)
  {
  	std::vector<NsMap>::iterator itr;
  
  	for(itr = Ns.begin(); itr != Ns.end(); ++itr)
  	{
  		std::string prefix = itr->findURI(uri);
  		if(!prefix.empty()) return prefix;
  	}
  	return std::string("");
  }
  
  /**
   *	Get a namespace URI for a prefix.
   *
   */
  const std::string NsStack::GetNamespaceURI(const std::string& prefix)
  {
  	std::vector<NsMap>::iterator itr;
  
  	for(itr = Ns.begin(); itr != Ns.end(); ++itr)
  	{
  		std::string uri = itr->findPrefix(prefix);
  		if(!uri.empty()) return uri;
  	}
  	return std::string("");
  }
   
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/NsStack.hpp
  
  Index: NsStack.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_NSSTACK_HPP)
  #define _AXIS_NSSTACK_HPP
  
  #include <stack>
  #include <map>
  #include <string>
  #include <vector>
  
  
  
  typedef std::map<std::string, std::string> NsMap_t;
  
  /**
   *	Namespace map for building a SOAP Envelop; each namespace prefix has
   *	associated namespace URI. Derived from std::map
   *
   *	@brief	Namespace map for building a SOAP Envelop
   */
  class NsMap : public NsMap_t
  {
  	public:
  		/// Finds namespace URI in the map
  		const std::string findURI(const std::string& uri);
  		/// Find namaspace prefix in the map
  		const std::string findPrefix(const std::string& prefex);
  };
  
  
  
  /**
   *	Namespace stack for building a SOAP Envelop; each namespace prefix has
   *	associated namespace URI.
   *
   *	@brief	Namespace stack for building a SOAP Envelop
   */
  class NsStack
  {
  	public:
  		/// Constructor for the NsStack
  		NsStack() : Indx(-1) {}
  		
  		/// Add namesppace prefix for a URI
  		void Add(const std::string& uri, const std::string& prefix);
  
  		/// push an empty map on the stack
  		void Push(); 
  
  		/// Get map at the top.
  		NsMap* Peek();
  
  		/// Pop a namespace mapping
  		void Pop();
  
  		/// Get a prefix for a given namespace URI
  		const std::string GetPrefix(const std::string& namespaceURI); 
  
  		/// Get a namespace URI for a prefix.
  		const std::string GetNamespaceURI(const std::string& prefix);
  
  	private:
  		std::vector<NsMap> Ns;	///< Holds stack elements.
  		int Indx;				///< Current index of the top 
  };
  
  
  
  
  #endif //_AXIS_NSSTACK_HPP
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/QName.cpp
  
  Index: QName.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "QName.hpp"
  #include <dom/DOM_Element.hpp>
  #include "AxisConst.hpp"
  
  namespace ax
  {
  
  /**
   *	Constructor for the QName
   */
   
  QName::QName(const std::string& p_qName)
  {
  	if(!p_qName.empty())
  	{
  		std::string::size_type pos = p_qName.find(':');
  
  		if(pos == std::string::npos)
  		{
  			m_strLocalPart = p_qName;
  		}
  		else
  		{
  			m_strLocalPart = p_qName.substr(pos+1);
  			m_strNsURI  = p_qName.substr(0, pos);
  		}
  	}
  
  }
  
  
  /**
   *	Constructor for the QName
   */
  
  QName::QName(const std::string& p_strNsPrefix, const std::string& p_strLocalPart)
  {
      m_strNsURI  = p_strNsPrefix;
      m_strLocalPart = p_strLocalPart;
  }
  
      
  /**
   *	Constructor for the QName
   */
  
  QName::QName(const QName& p_qName)
  {
  	m_strNsURI  = p_qName.m_strNsURI;
  	m_strLocalPart = p_qName.m_strLocalPart;
  }
  
  
  /**
   *	Constructor for the QName
   */
  QName::QName(const std::string& p_qName, const DOM_Element& p_Elem) 
  {
  	if(!p_qName.empty())
  	{
  		std::string::size_type pos = p_qName.find(':');
  
  		if (pos == std::string::npos) 
  		{
              m_strLocalPart = p_qName;
              m_strNsURI	   = "";
          } 
  		else 
  		{
  			m_strLocalPart = p_qName.substr(pos);
  			DOMString str  = p_Elem.getAttributeNS(ax::NS_URI_XMLNS.c_str(), 
  													p_qName.substr(0, pos).c_str());
              m_strNsURI  = (char *) str.rawBuffer();
          }
  	}
  }
  
  /**
   *	Sets the Namespace URI for this QName    
   */
  void QName::SetNsURI(const std::string& p_strNsURI)
  {
  	m_strNsURI = p_strNsURI;
  }
  
  
  /**
   *	Sets the Local part for this QName
   */
  
  void QName::SetLocalPart(const std::string& p_strLocalPart)
  {
  	m_strLocalPart = p_strLocalPart;
  }
  
  /**
   *	Returns a string representation of this QName
   *
   */
  const std::string QName::toString() 
  {
  	return (m_strNsURI.empty()) ? m_strLocalPart : (m_strNsURI + ":" + m_strLocalPart);
  };
    
  /**
   *	Indicates whether some other object is "equal to" this QName object
   */
  
  bool  QName::operator == (const QName& p_qName) 
  {
  	std::string tmp = ((p_qName.m_strNsURI.empty()) ? p_qName.m_strLocalPart : (p_qName.m_strNsURI + ":" + p_qName.m_strLocalPart));
  	return (toString() == tmp);
  }
  
  /**
   *	Storage stratergy in a std::map we need a get around for this.
   */
  bool operator<(const QName& left, const QName& right)
  {
  	std::string rstr = ((right.m_strNsURI.empty()) ? right.m_strLocalPart : (right.m_strNsURI + ":" + right.m_strLocalPart));
  	std::string lstr = ((left.m_strNsURI.empty()) ? left.m_strLocalPart : (left.m_strNsURI + ":" + left.m_strLocalPart));
  	return (lstr < rstr);
  }
  
  
  };
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/QName.hpp
  
  Index: QName.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_QNAME_HPP)
  #define _AXIS_QNAME_HPP
  
  #include <string>
  #include <list>
  #include <vector>
  
  
  
  class	DOM_Element;
  
  
  
  namespace ax // Put this in the Axis namespace o/w conflicts with other 
  {			 // QName definition such as Xerces QName which, is not identical
  
  	/**
  	 *	Qualified name based on "Namespaces in XML" specification. defined as follows:
  	 *	
  	 *	QName	  ::=  (Prefix ':')? LocalPart										<br>
  	 *	Prefix	  ::=  NCName														<br>
  	 *	LocalPart ::=  NCName														<br>
  	 *	NCName	  ::=  (Letter | '_') (NCNameChar)*  ;  An XML Name, minus the ":"	<br>
  	 *	NCNameChar ::=  Letter | Digit | '.' | '-' | '_' etc.						<br>
  	 *
  	 *	The Prefix provides the namespace prefix part of the qualified name, and must 
  	 *	be associated with a namespace URI reference in a namespace declaration. 
  	 *	The LocalPart provides the local part of the qualified name. 
  	 *	Note that the prefix functions only as a placeholder for a namespace name. 
  	 *	Applications should use the namespace name, not the prefix, in constructing 
  	 *	names whose scope extends beyond the containing document.
  	 *
  	 *	
  	 *	@brief	Qualified name based on "Namespaces in XML" specification
  	 */
  
  	 // we need our own Qualified Name class
  	class QName
  	{
  		public:
  			/// Constructor for the QName
  			QName() : m_strNsURI(""), m_strLocalPart("") {}
  
  			/// Constructor QName from qualified name
  			QName(const std::string& p_qName);
  
  			/// Constructor for the QName
  			QName(const std::string& p_strNsURI, const std::string& p_strLocalPart);
  
  			/// Constructor for the QName
  			QName(const QName& p_qName);
  
  			/// Constructor for the QName
  			QName(const std::string& p_qName, const DOM_Element& p_Elem);
  			~QName(){};
  
  			/// Sets the Namespace URI for this QName
  			void SetNsURI(const std::string& p_strNsURI);
  
  			/// Sets the Local part for this QName
  			void SetLocalPart(const std::string& p_strLocalPart);
  
  			/// Gets the Namespace URI for this QName
  			const std::string GetNsURI() { return m_strNsURI;}
  
  			/// Gets the Local part for this QName
  			const std::string GetLocalPart() {return m_strLocalPart;}
          
  			/// Indicates whether some other object is "equal to" this QName object
  			bool operator==(const QName& p_qName); 
  
  			/// storage purpose in a std::map we need a get around for this.
  			friend bool operator<(const QName& left, const QName& right);
  
  			/// Returns a string representation of this QName
  			const std::string QName::toString(); 
  
  		private:
  			std::string  m_strNsURI;		///< Namespace URI
  			std::string  m_strLocalPart;	///< Loaclpart
  	};
  };
  
  #endif // _AXIS_QNAME_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/Url.cpp
  
  Index: Url.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #include "Platform.hpp"
  #include "Url.hpp"
  
  
  Url::Url()
  	: m_Protocol(unknown), m_Port(0)
  {
  }
  
  Url::Url(std::string url)
  {
  	m_URL = url;
  	if(isascii((int)url.at(0)))
  	{
  		// check this a valid URL
  		if((url.at(1) == (int)':') &&
  			((url.at(2) == (int)'/') || (url.at(2) == (int)'\\')))
  			return;
  		else // assume valid URL hence, proceed with finding entries
  			ParseURL(url);
  	}
  }
  
  Url::~Url()
  {
  
  }
  
  void Url::SetProtocol(std::string prot)
  {
  	m_Port = 0;
  	if(prot == "http")
  	{
  		m_Protocol = http;
  		m_Port = HTTP_PORT;
  	}
  	else if( prot == "file")
  	{
  		m_Protocol = file;
  	}
  	else if( prot == "ftp")
  	{
  		m_Protocol = ftp;
  		m_Port = FTP_PORT;
  	}
  	else if( prot == "https")
  	{
  
  		m_Protocol = https;
  		m_Port = HTTPS_PORT;
  	}
  	else
  		m_Protocol = unknown;
  
  }
  
  void Url::ParseURL(std::string& url)
  {
  	std::string::size_type begpos, pos;
  
  	// try to find out the protocol
  	if((pos = url.find("://")) != std::string::npos)
  	{
  		SetProtocol(url.substr(0, pos));
  		// find m_Host name
  		if(m_Protocol != unknown)
  		{
  			url = url.substr(pos + 3); // rest of the URL string
  			begpos = pos = 0;
  			std::string key(":/?");
  			
  			while(pos = url.find_first_of(key, begpos))
  			{
  				if(pos == std::string::npos) // only host name found
  				{
  					if(m_Host.empty())
  						m_Host = url;
  					if (key == "?") // found path
  						m_Path = url.substr(begpos - 1);
  					break;
  				}
  				else
  					if(pos == 0) break;
  
  				switch(url.at(pos))
  				{
  					case ':': 
  						if(m_Host.empty())
  							m_Host = url.substr(begpos, pos - begpos);
  						pos++;
  						begpos = pos;
  						key = "/?"; // scan for the rest to get the path & query
  						continue;
  
  					case '/':
  						if (key == "/?") // found port number
  						{
  							m_Port = atoi(url.substr(begpos, pos - begpos + 1).c_str());
  							if(m_Host.empty())
  								m_Host = url.substr(0, begpos - 1);
  						}
  						else
  							m_Host = url.substr(0, pos);
  						pos++;
  						begpos = pos;
  						key = "?";
  						continue;
  
  					case '?':
  						// not correctly supported
  						m_Query = url.substr(pos);
  						break;
  				}	
  				break;
  			}							
  		}
  	}
  }
  
  
  
   
  					
  
  					
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Util/Url.hpp
  
  Index: Url.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_URL_HPP)
  #define _AXIS_URL_HPP
  
  #include <string>
  
  // Welknown ports
  const unsigned short HTTP_PORT  = 80;	
  const unsigned short HTTPS_PORT = 443;
  const unsigned short FTP_PORT   = 21;
  
  
  /**
   *	Implementation of URL to manupulate URLs.  
   *
   *	This implementation only supports subset of a URL
   *	note that # references, userinfo query string 
   *	processing are not supported for this version.
   *
   *	URLs are of the form:
   * 
   *	URL			  = protocol "://" server "/" [path]["?" query]
   *	server        = [userinfo "@"] hostname-port
   *	hostname-port = hostname [ ":" port ]
   *	userinfo	  = user[:password]
   *
   *
   *	@brief	Manupulate URLs
   */
  
  
  class Url  
  {
  public:
  
  	enum Protocol { http, https, ftp, file, unknown}; // for our purpose currently we need
  													  // http, https only. This is provided
  													  // To make extensible to
  													  // support other transports for RPC
  													  // but file????, yes we may require 
  													  // pipes; with web-service????
  
  public:
  	Url();
  	Url(std::string url);
  	~Url();
  
  	void SetProtocol(std::string prot);
  	void SetProtocol(Protocol prot){m_Protocol = prot;}
  	void SetHostName(std::string host){m_Host= host;}
  	void SetResource(std::string path){m_Path = path;}
  	void SetPort(unsigned short port){m_Port = port;}
  
  	Protocol	GetProtocol(){return m_Protocol;}
  	std::string GetHostName(){return m_Host;}
  	std::string GetResource(){return m_Path;}
  
  	unsigned short GetPort(){return m_Port;}
  
  	// other functions are not supported yet
  
  private:
  
  	void ParseURL(std::string& url);
  	
  	Protocol		m_Protocol;
  	std::string		m_Host;
  	unsigned short  m_Port;
  	std::string		m_Path;
  	std::string		m_Query;
  
      std::string m_Password;
      std::string m_User;
      std::string m_URL;
  };
  
  #endif // _AXIS_URL_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/Makefile
  
  Index: Makefile
  ===================================================================
  # Makefile for Xml directory
  #
  #
  BASE_PATH = ../..
  include ../../inc.mk
  
  LOCAL_INCLUDES = -I$(AX_DIR)/src/Xml
  
  XML_SRCS = XMLDeSerializer.cpp \
  	   XMLSerializer.cpp 
  
  
  XML_OBJS = $(XML_SRCS:%.cpp=$(AX_OBJ_COMMON_DIR)/%.o)  
  
  
  OBJS = $(XML_OBJS)
  
  all:: $(OBJS)
  
  clean:
  	-@rm -rf $(OBJS) *~
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XMLDeSerializer.cpp
  
  Index: XMLDeSerializer.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  #include "Platform.hpp"
  #include <iostream>
  #include <cstdio>
  #include "XMLDeSerializer.hpp"
  
  #include <util/PlatformUtils.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <util/XMLException.hpp>
  #include <util/TranscodingException.hpp>
  #include <dom/DOM_DOMException.hpp>
  #include <parsers/DOMParser.hpp>
  #include <framework/MemBufInputSource.hpp>
  #include "TypeMappingRegistry.hpp"
  
  
  XMLDeSerializer::XMLDeSerializer(const std::string& p_Msg) : m_pTypeMapper(0)
  {
  	try
      {
          XMLPlatformUtils::Initialize();
      }
      catch (const XMLException& )
      {
          //TODO: need to handle exception 
      }
  
  	parser = new DOMParser;
      parser->setValidationScheme(DOMParser::Val_Auto);
      parser->setDoNamespaces(true);
      parser->setDoSchema(false);
      parser->setValidationSchemaFullChecking(false);
      errReporter = new ParseErrorHandler();
      parser->setErrorHandler(errReporter);
      parser->setCreateEntityReferenceNodes(false);
      parser->setToCreateXMLDeclTypeNode(true);
  
  	MemBufInputSource* memBufIS = new MemBufInputSource ((const XMLByte*) p_Msg.c_str(),
  														  p_Msg.size(), "msg", false);
  	bool errorsOccured = false;
  	try
  	{
  		parser->parse(*memBufIS);
  		int errorCount = parser->getErrorCount();
  		if (errorCount > 0)
  		{
  			errorsOccured = true;
  			m_pCurNode = NULL;
  		}
  	}
  	catch (const XMLException& e)
  	{
  		//TODO: need to handle exception 
  		std::cerr << "An error occured during parsing\n   Message: "
  			<< DOMString(e.getMessage()).transcode() << std::endl;
  		errorsOccured = true;
  	}
  	catch (const DOM_DOMException& e)
  	{
  		//TODO: need to handle exception 
  		std::cerr << "A DOM error occured during parsing\n   DOMException code: "
  			<< e.code << std::endl;
  		errorsOccured = true;
  	}
  	catch (...)
  	{
  		//TODO: need to handle exception 
  		std::cerr << "An error occured during parsing\n " << std::endl;
  		errorsOccured = true;
  	}
  
  
  	if(!errorsOccured)
  	{
  		m_pCurNode = parser->getDocument();
  	}
  	else
  		m_pCurNode = NULL;
  }
  
  
  XMLDeSerializer::~XMLDeSerializer()
  {
  	 // call the termination method
      XMLPlatformUtils::Terminate();
  }
  
  
  void XMLDeSerializer::DeSerialize(MessageElement& p_Elm)
  {
  	ax::QName qName = p_Elm.GetElmQName();
  	std::string strQName = QNameToStr(qName);
  	DOM_NodeList list = ((DOM_Document&)m_pCurNode).getElementsByTagName(strQName.c_str());
  
  	unsigned int nNodeCnt = list.getLength();
  
  	for(int i=0;i<nNodeCnt;i++)
  	{
  		DOM_Element data = (const DOM_Element&) list.item(i);
      
  		DOM_Node child;
  		for (child=data.getFirstChild(); child != 0; child= child.getNextSibling())
  		{
  			if(child.getNodeType() == DOM_Node::ELEMENT_NODE)
  				p_Elm.AddMsgElement((DOM_Element&)child);
  		}
  	}
  }
  
  
  ax::QName XMLDeSerializer::GetQNameFromStr(std::string strQName)
  {
  	std::string::size_type pos = strQName.find(':');
  	if (pos == std::string::npos) return ax::QName();
      
  	std::string nsURI = m_nsStk.GetNamespaceURI(strQName.substr(0, pos));
      
      return ax::QName(nsURI, strQName.substr(++pos));
  }
  
  void XMLDeSerializer::RegisterPrefixForURI(const std::string& prefix, const std::string& uri)
  {
  	m_nsStk.Add(uri, prefix);
  }
  
  std::string XMLDeSerializer::QNameToStr(ax::QName& qName)
  {
  	std::string prefix = m_nsStk.GetPrefix(qName.GetNsURI());
  	return ((!prefix.empty())?(prefix + ":"): std::string("")) + qName.GetLocalPart();
  }
  
  
  
  void ParseErrorHandler::error(const SAXParseException& e)
  {
  	//TODO: need to handle errors 
      fprintf(stderr, "\nError at file \"%s\", line %d, char %d:  %s\n",
          XMLString::transcode(e.getSystemId()), e.getLineNumber(),
          e.getColumnNumber(), XMLString::transcode(e.getMessage()));
      throw e;
  
  };
  
  void ParseErrorHandler::fatalError(const SAXParseException& e)
  {
  	//TODO: need to handle errors 
      fprintf(stderr, "\nFatal Error at file \"%s\", line %d, char %d:  %s\n",
          XMLString::transcode(e.getSystemId()), e.getLineNumber(),
          e.getColumnNumber(), XMLString::transcode(e.getMessage()));
      throw e;
  };
  
  void ParseErrorHandler::warning(const SAXParseException& e)
  {
  	//TODO: need to handle errors 
      fprintf(stderr, "\nWarning at file \"%s\", line %d, char %d:  %s\n",
          XMLString::transcode(e.getSystemId()), e.getLineNumber(),
          e.getColumnNumber(), XMLString::transcode(e.getMessage()));
      throw e;
  
  };
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XMLDeSerializer.hpp
  
  Index: XMLDeSerializer.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_XML_DESERIALIZER_H)
  #define _AXIS_XML_DESERIALIZER_H
  
  
  #include "MessageElement.hpp"
  #include <dom/DOM.hpp>
  #include <sax/SAXException.hpp>
  #include <sax/ErrorHandler.hpp>
  #include <sax/SAXParseException.hpp>
  #include "AxisConst.hpp"
  #include "NsStack.hpp"
  
  
  
  class  ParseErrorHandler;
  class  MessageElement;
  class  TypeMappingRegistry;
  
  
  
  /**
   *	Delare and define SOAP Envelop Deserializer for deserialization of
   *	XML SOAP envelop; This uses XML DOM parser to parse the SOAP Envelop
   *  and build out a DOM document which contain each components of the 
   *	SOAP Envelop such as SOAP Header, body, RPC components etc.
   * 
   *	@brief  SOAP Envelop deserialiser 
   *
   */
  
  class XMLDeSerializer
  {
  public:
  	/// Create deserializer by parsing the SOAP Envelop passed
  	XMLDeSerializer(const std::string& p_Msg);
  	~XMLDeSerializer();
  
  	/// Deserialize a given SOAP Message Element
  	void DeSerialize(MessageElement& p_Elm);
  
  	/// Sets the current branch that the deserilisation involve.
  	void SetContext(DOM_Node&  p_CurNode){m_pCurNode = p_CurNode;}
  
  	/// register prefixes for given URI
  	void RegisterPrefixForURI(const std::string& prefix, const std::string& uri);
  
  	/// Convert QName to a string form consisting of prefix:localpart
  	std::string QNameToStr(ax::QName& qName);
  
  	/// Convert prefix:localpart to a QName
  	ax::QName GetQNameFromStr(std::string strQName);
  
  	/// Sets Type Mapping Registry for type mapping of given encoding
  	void SetTypeMappingRegistry(TypeMappingRegistry* p_TypMapper){m_pTypeMapper = p_TypMapper;}
  
  	/// Get a handle to the current type mapping registry
  	TypeMappingRegistry * GetTypeMapper(){return m_pTypeMapper;}
  
  
  
  private:
  
  	NsStack	m_nsStk;					///< Namespace stack for namespace mapping for the current context
  
  	DOM_Node  m_pCurNode;				///< Current DOM Node of the branch the deserilization apply
  
  	DOMParser *parser;					///< DOM parser to parse the SOAP envelop
  	ParseErrorHandler *errReporter;		///< DOM parser error handler
  	
  	TypeMappingRegistry *m_pTypeMapper;	///< Type mapping registry to obtain deserilized objects.
  };
  
  
  
  
  /**
   *	XML parser error handler implementation
   */
  
  class  ParseErrorHandler: public ErrorHandler
  {
  public:
      void warning(const SAXParseException& e);
      void error(const SAXParseException& e);
      void fatalError(const SAXParseException& e);
      void resetErrors() {};
  
  };
  
  
  #endif //_AXIS_XML_DESERIALIZER_H
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XMLSerializer.cpp
  
  Index: XMLSerializer.cpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #include "Platform.hpp"
  #include "XMLSerializer.hpp"
  #include "AttList.hpp"
  #include "XercescConst.hpp"
  #include "AxisConst.hpp"
  #include "TypeMappingRegistry.hpp"
  #include <cstdio>
  
  
  
  std::ostream& operator<<(std::ostream& p_OutStr, const DOMString& p_dmNode);
  std::ostream& operator<<(std::ostream& p_OutStr, DOM_Node& p_dmNode);
  XMLFormatter& operator<< (XMLFormatter& p_xmlFmt, const DOMString& p_dmStr);
  
  XMLFormatter* Xml_Formatter=NULL;
  XMLCh* Encoding_Name=NULL;
  static int m_nIndent=-1;
  
  
  
  
  XMLSerializer::XMLSerializer(XmlWriter& str)
  	: m_bStartDoc(true), m_nIndent(0), m_PrefixIndx(1), 
  	  m_xmlBuffer(&str), m_pTypeMapper(0)
  {
  	try
      {
          XMLPlatformUtils::Initialize();
      }
      catch(const XMLException& ex)
      {
          char *pchMsg = XMLString::transcode(ex.getMessage());
  		std::cerr << "Error during Xerces-c Initialization.\n"
  				  << "  Exception message:"
                    << pchMsg;
          delete pchMsg;
      }
  }
  
  XMLSerializer::~XMLSerializer()
  {
  	XMLPlatformUtils::Terminate();
  }
  
  
  void XMLSerializer::StartElem(ax::QName& p_qName, AttList& p_attList)
  {
  	// Start writing XML document
  	if(m_bStartDoc)
  	{
  		m_Doc = DOM_Document::createDocument(); 
  		m_Doc.appendChild(m_Doc.createXMLDecl ("1.0",  "UTF-8", ""));
  		m_CurNode = m_Doc;
  		Append(p_qName, p_attList);
  		m_CurNode = m_Doc.getDocumentElement();
  		m_bStartDoc = false;
  		return;
  	}
  
  	m_CurNode = Append(p_qName, p_attList);
  }
  
  
  DOM_Element& XMLSerializer::Append(ax::QName& p_qName, AttList& p_attList)
  {
  	std::string qName = QNameToStr(p_qName);
  	m_ChildElm = m_Doc.createElement(qName.c_str());
  
  	for (int i = 0; i < p_attList.getLength(); i++) 
  	{
  		m_ChildElm.setAttribute(p_attList.getName(i).c_str(), 
  								p_attList.getValue(i).c_str());
      }
  	
  	NsMap *CurMap = m_nsStk.Peek();
  	if(CurMap)
  	{
  		NsMap::iterator mpIter;
  		for (mpIter = CurMap->begin(); mpIter != CurMap->end(); ++mpIter) 
  		{
  			if(mpIter->first.empty()) continue;
  			std::string  strQName = std::string("xmlns") + ":" + mpIter->second;
  			m_ChildElm.setAttributeNS(ax::NS_URI_XMLNS.c_str(), strQName.c_str(),
  										mpIter->first.c_str());
  										
  		}
  		m_nsStk.Push();
  	}
  	
  	m_CurNode.appendChild(m_ChildElm);
  	return m_ChildElm;
  }
  
  
  void XMLSerializer::WriteStr(const std::string& str)
  {
  	m_CurTxtElm = m_Doc.createTextNode(str.c_str());
      m_ChildElm.appendChild(m_CurTxtElm);
  }
  
  void XMLSerializer::EndElem()
  {
  	m_nsStk.Pop();
  	return;
  }
  
  void XMLSerializer::Serialize(ax::QName p_qName, AttList& p_attList, const char* value)
  {
  	m_ChildElm = Append(p_qName, p_attList);
  	WriteStr(std::string(value));
  }
  
  void XMLSerializer::RegisterPrefixForURI(const std::string& prefix, const std::string& uri)
  {
  	m_nsStk.Add(uri, prefix);
  }
  
  std::string XMLSerializer::GetPrefixForURI(const std::string& uri)
  {
  	char buf[10];
  	sprintf(buf, "%d", m_PrefixIndx++);
      return GetPrefixForURI(uri, "ns" + std::string(buf));
  }
  
  std::string XMLSerializer::GetPrefixForURI(const std::string& uri, std::string defaultPrefix)
  {
      if (uri.empty()) 
          return std::string("");
  
  	std::string prefix = m_nsStk.GetPrefix(uri);
  
      if (prefix.empty() && uri == ax::URI_SOAP_ENC)
  	{
          prefix = ax::NSPREFIX_SOAP_ENC;
          RegisterPrefixForURI(prefix, uri);
      }
  
      if (prefix.empty()) 
  	{
          prefix = defaultPrefix;
          RegisterPrefixForURI(prefix, uri);
      }
  
      return prefix; 
  }
  
  std::string XMLSerializer::QNameToStr(ax::QName& qName)
  {
  	std::string prefix = GetPrefixForURI(qName.GetNsURI());
  	return ((!prefix.empty())?(prefix + ":"): std::string("")) + qName.GetLocalPart();
  }
  
  
  void XMLSerializer::flush()
  {
  	std::ostream p_OutStr(m_xmlBuffer->rdbuf());
      SOAPEnvelopFormatter* fmtTarget = new SOAPEnvelopFormatter(p_OutStr);
  
      DOMString xmlEncCharset("UTF-8");
      DOM_Node dmNode = m_Doc.getFirstChild();
  
  	// Check whether this is a declaration Node 
      if (dmNode.getNodeType() == DOM_Node::XML_DECL_NODE)
      {
          DOMString strTmp = ((DOM_XMLDecl &)dmNode).getEncoding();
          if (strTmp != "")
          {
              xmlEncCharset = strTmp;
          }
      }
  
      unsigned int lent = xmlEncCharset.length();
      Encoding_Name	  = new XMLCh[lent + 1];
  
      XMLString::copyNString(Encoding_Name, xmlEncCharset.rawBuffer(), lent);
      Encoding_Name[lent] = 0;
  
      try
      {
          Xml_Formatter = new XMLFormatter(Encoding_Name, fmtTarget, XMLFormatter::NoEscapes, 
  										 XMLFormatter::UnRep_CharRef);
          p_OutStr << m_Doc;
          *Xml_Formatter << chLF; // add linefeed in requested output encoding
      }
      catch (XMLException& e)
      {
  		std::cerr << "An error occurred during creation of output transcoder. Msg is:"
  				  << DOMString(e.getMessage()) << std::endl;
      }
  
      delete fmtTarget;
      delete Xml_Formatter;
  }
  
  
  
  std::ostream& operator<<(std::ostream& p_OutStr, DOM_Node& p_dmNode)
  {
      // Get the name and value out for convenience
      DOMString   nodeName  = p_dmNode.getNodeName();
      DOMString   nodeValue = p_dmNode.getNodeValue();
      unsigned long lent = nodeValue.length();
  
      switch (p_dmNode.getNodeType())
      {
          case DOM_Node::TEXT_NODE:
  		{
  			Xml_Formatter->formatBuf(nodeValue.rawBuffer(), lent, XMLFormatter::CharEscapes);
  			break;
  		}
  
          case DOM_Node::PROCESSING_INSTRUCTION_NODE :
  		{
  			*Xml_Formatter << XMLFormatter::NoEscapes << gStartPI  << nodeName;
  
  			if (lent > 0) 
  				*Xml_Formatter << chSpace << nodeValue;
  
  			*Xml_Formatter << XMLFormatter::NoEscapes << gEndPI;
  			break;
  		}
  
          case DOM_Node::DOCUMENT_NODE :
  		{
  			DOM_Node childNode = p_dmNode.getFirstChild();
  
  			while( childNode != 0)
  			{
  				p_OutStr << childNode;
  				*Xml_Formatter << chLF;	// add linefeed in requested output encoding
  				p_OutStr << std::flush;
  				childNode = childNode.getNextSibling();
  			}
  			break;
  		}
  
          case DOM_Node::ELEMENT_NODE :
  		{
  			// The name has to be representable without any escapes
  			m_nIndent++;	// make pretty
  			std::string strTmp;
  
  			if(m_nIndent > 0)
  				strTmp = std::string(m_nIndent, ' ');
  		
  			// Output the element start tag.
  			*Xml_Formatter  << XMLFormatter::NoEscapes
  						 << strTmp.c_str() << chOpenAngle << nodeName;
  
  			// Output any attributes on this element
  			DOM_NamedNodeMap mapAttribs = p_dmNode.getAttributes();
  			int nAttCnt = mapAttribs.getLength();
  
  			for (int i = 0; i < nAttCnt; i++)
  			{
  				DOM_Node  dnAttr = mapAttribs.item(i);
  
  				//  Again the name has to be completely representable. But the
  				//  dnAttr can have refs and requires the dnAttr style
  				//  escaping.
  				*Xml_Formatter	 << XMLFormatter::NoEscapes
  								 << chSpace << dnAttr.getNodeName()
  								 << chEqual << chDoubleQuote
  								 << XMLFormatter::AttrEscapes
  								 << dnAttr.getNodeValue()
  								 << XMLFormatter::NoEscapes
  								 << chDoubleQuote;
  			}
  
  			//  Test for the presence of children, which includes both
  			//  text content and nested elements.
  			DOM_Node childNode = p_dmNode.getFirstChild();
  
  			if (childNode != 0)
  			{
  				// There are children. Close start-tag, and output children.
  				// No escapes are legal here
  				bool bTxtChild=false;
  
  				*Xml_Formatter << XMLFormatter::NoEscapes << chCloseAngle;
  
  				//make pretty
  				if(childNode.getNodeType() != DOM_Node::TEXT_NODE)
  					*Xml_Formatter << "\n";
  
  				while( childNode != 0)
  				{
  					if(childNode.getNodeType() == DOM_Node::TEXT_NODE)
  						bTxtChild = true;
  
  					p_OutStr << childNode;
  					childNode = childNode.getNextSibling();
  				}
  
  				// Done with children.  Output the end tag.
  				if(!bTxtChild && (m_nIndent > 0))
  					strTmp = std::string(m_nIndent, ' ');		//make pretty
  				else
  					strTmp = "";
  			
  				*Xml_Formatter << strTmp.c_str() << XMLFormatter::NoEscapes << gEndElement
  							<< nodeName << chCloseAngle << "\n";
  				m_nIndent--;
  			}
  			else
  			{
  				//  There were no children. Output the short form close of
  				//  the element start tag, making it an empty-element tag.
  				*Xml_Formatter << XMLFormatter::NoEscapes << chForwardSlash << chCloseAngle << "\n";
  			}
  			break;
  		}
  
  
          case DOM_Node::ENTITY_REFERENCE_NODE:
  		{
  			DOM_Node childNode;
  
  			   *Xml_Formatter << XMLFormatter::NoEscapes << chAmpersand
  					<< nodeName << chSemiColon;
  			break;
  		}
  
  
          case DOM_Node::CDATA_SECTION_NODE:
  		{
  			*Xml_Formatter << XMLFormatter::NoEscapes << gStartCDATA
  						<< nodeValue << gEndCDATA;
  			break;
  		}
  
          case DOM_Node::XML_DECL_NODE:
  		{
  			DOMString  str;
  
  			*Xml_Formatter << gXMLDecl1 << ((DOM_XMLDecl &)p_dmNode).getVersion();
  
  			*Xml_Formatter << gXMLDecl2 << Encoding_Name;
  
  			str = ((DOM_XMLDecl &)p_dmNode).getStandalone();
  			if (str != 0)
  				*Xml_Formatter << gXMLDecl3 << str;
  
  			*Xml_Formatter << gXMLDecl4;
  
  			break;
  		}
  
          default:
              std::cerr << "Unrecognized node type for SOAP envelop = "
  				<< (long)p_dmNode.getNodeType() << std::endl;
      }
      return p_OutStr;
  }
  
  std::ostream& operator<< (std::ostream& p_OutStr, const DOMString& p_dmStr)
  {
      char *p = p_dmStr.transcode();
      p_OutStr << p;
      delete [] p;
      return p_OutStr;
  }
  
  
  XMLFormatter& operator<< (XMLFormatter& p_xmlFmt, const DOMString& p_dmStr)
  {
      unsigned int lent = p_dmStr.length();
  
  	if (lent <= 0)
  		return p_xmlFmt;
  
      XMLCh*  buf = new XMLCh[lent + 1];
      XMLString::copyNString(buf, p_dmStr.rawBuffer(), lent);
      buf[lent] = 0;
      p_xmlFmt << buf;
      delete [] buf;
      return p_xmlFmt;
  }
  
  
  
  
  
  
  
          
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XMLSerializer.hpp
  
  Index: XMLSerializer.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_XML_SERIALIZER_HPP)
  #define _AXIS_XML_SERIALIZER_HPP
  
  
  #include <util/PlatformUtils.hpp>
  #include <util/XMLString.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <dom/DOM.hpp>
  #include <framework/XMLFormatter.hpp>
  #include <util/TranscodingException.hpp>
  #include <stack>
  #include <iostream>
  #include "XmlWriter.hpp"
  #include "QName.hpp"
  #include "NsStack.hpp"
  #include "AttList.hpp"
  
  class TypeMappingRegistry;
  
  /**
   *	Manage a serialization, including keeping track of namespace mappings 
   *	and element stacks. 
   *	
   * @brief  Serializes XML SOAP Envelop fragments to form a SOAP Message. 
   *
   */
  
  class XMLSerializer
  {
  	public:
  		XMLSerializer(XmlWriter& str);
  		~XMLSerializer();
  
  		/// Register a Prefix for a namespace URI
  		void RegisterPrefixForURI(const std::string& prefix, const std::string& uri);
  
  		/// Get a prefix for a given namespace URI
  		std::string GetPrefixForURI(const std::string& uri);
  
  		/// Get a prefix for the given namespace URI 
  		std::string GetPrefixForURI(const std::string& uri, std::string defaultPrefix);
  
  		/// Convert Qualified Name to a string as: prefix:local-name
  		std::string QNameToStr(ax::QName& qName);
  
  		/// Sets a reference to the TypeMapping Registry 
  		void SetTypeMappingRegistry(TypeMappingRegistry* p_TypMapper){m_pTypeMapper = p_TypMapper;}
  
  		/// Obtain a reference to the TypeMappingRegistry we're using
  		TypeMappingRegistry * GetTypeMapper(){return m_pTypeMapper;}
  
  		/// Start building DOM sub-tree rooted at element having tag name with the given QName
  		void StartElem(ax::QName& p_qName, AttList& p_attList);
  
  		/// End this branch of the DOM tree.
  		void EndElem();
  
  		/// Write TEXT- node
  		void WriteStr(const std::string& str);
  
  		/// Append a subtree to the current node.
  		DOM_Element& Append(ax::QName& p_qName, AttList& p_attList);
  
  		/// Serialize a SOAP body element by appending a branch to the current node
  		void Serialize(ax::QName p_qName, AttList& p_attList, const char* value);
  
  		/// Write the content of the DOM document into a stream.
  		void flush();
  
  	private:
  
  		friend std::ostream& operator<<(std::ostream& target, const DOMString& toWrite);
  		friend std::ostream& operator<<(std::ostream& target, DOM_Node& toWrite);
  		friend XMLFormatter& operator<<(XMLFormatter& strm, const DOMString& s);
  
  
  	private:
  		NsStack	m_nsStk;		///< Namespace stack for namespace mapping for the current context
  
  		bool m_bStartDoc;		///< Starting to build a DOM document from SOAP Message components.
  		int  m_nIndent;			///< To make pertty.
  		int  m_PrefixIndx;		///< To make pretty.
  
  		XmlWriter *m_xmlBuffer;	///< output stream to dump serilized DOM document.
  
  		TypeMappingRegistry *m_pTypeMapper;
  
  		// Use DOM to build the SOAP Envelop document
  		DOM_DOMImplementation impl;
  		DOM_Document m_Doc;
  		DOM_Node     m_CurNode;
  		DOM_Element	 m_CurElm;
  		DOM_Element	 m_ChildElm;
  		DOM_Text	 m_CurTxtElm;
  
  
  };
  
  /**
   * 
   * The implementation of the XMLFormatTarget to dump generated SOAP Envelop as a 
   * DOM tree, into a output stream. For more info refer Xerces-C++ DOM parser 
   * documentation.
   *	
   * @brief  Implements XMLFormatTarget for dumping generated DOM tree into a output stream.
   *
   */
  
  class SOAPEnvelopFormatter : public XMLFormatTarget
  {
  public:
      SOAPEnvelopFormatter(std::ostream& p_xmlBuffer) : m_xmlBuf(&p_xmlBuffer) {}
      ~SOAPEnvelopFormatter() {};
  
      void writeChars(const   XMLByte* const  p_chWhat,
                      const   unsigned int    p_Cnt,
                              XMLFormatter * const p_xmlFormatter)
      {
  		m_xmlBuf->write((char *) p_chWhat, (int) p_Cnt);
      };
  
  private:
      SOAPEnvelopFormatter(const SOAPEnvelopFormatter& p_Other);
      void operator=(const SOAPEnvelopFormatter& p_rvalue);
  
  	std::ostream *m_xmlBuf;
  };
  
  #endif //_AXIS_XML_SERIALIZER_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XercescConst.hpp
  
  Index: XercescConst.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   * Copyright (c) 2001 SL_OpenSource Consortium
   * All Rights Reserved.
   * 
   * Permission to use, copy, modify, and distribute this software and its 
   * documentation for educational, research and non-profit purposes, 
   * without fee, and without a written agreement is hereby granted, 
   * provided that the above copyright notice, this paragraph and the 
   * following few paragraphs appear in all copies.  
   * 
   * Permission to incorporate this software into commercial products may 
   * be obtained from the SL_OpenSource Consortium, 
   * 
   * IN NO EVENT SHALL THE SL_OPENSOURCE CONSORTIUM BE LIABLE TO ANY PARTY
   * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
   * INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND 
   * ITS DOCUMENTATION, EVEN IF THE SL_OPENSOURCE CONSORTIUM HAS BEEN 
   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * 
   * THE SL_OPENSOURCE CONSORTIUM SPECIFICALLY DISCLAIMS ANY WARRANTIES, 
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
   * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER 
   * IS ON AN "AS IS" BASIS, AND THE SL_OPENSOURCE CONSORTIUM HAS NO OBLIGATIONS
   * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
   * 
   * The SL_OpenSource Consortium will appreciate receiving any enhancements 
   * and modifications of this software made by others, and reserves the right 
   * to include them in future releases. The Consortium also recommends that 
   * this software not be redistributed by third parties, but be obtained by
   * all directly from the SL_OpenSource Consortium server, so that all users 
   * of the software may receive bug notifications and other relevant 
   * announcements.
   * 
   * 
   * Please send any questions and bug reports to 
   * SL_OpenSource Consortium (slosc@yahoo.com)
   * 
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  #if !defined(_AXIS_XERCESCONST_H)
  #define _AXIS_XERCESCONST_H
  
  
  static const XMLCh  gEndElement[] = { chOpenAngle, chForwardSlash, chNull };
  static const XMLCh  gEndPI[] = { chQuestion, chCloseAngle, chNull};
  static const XMLCh  gStartPI[] = { chOpenAngle, chQuestion, chNull };
  static const XMLCh  gXMLDecl1[] =
  {
          chOpenAngle, chQuestion, chLatin_x, chLatin_m, chLatin_l
      ,   chSpace, chLatin_v, chLatin_e, chLatin_r, chLatin_s, chLatin_i
      ,   chLatin_o, chLatin_n, chEqual, chDoubleQuote, chNull
  };
  static const XMLCh  gXMLDecl2[] =
  {
          chDoubleQuote, chSpace, chLatin_e, chLatin_n, chLatin_c
      ,   chLatin_o, chLatin_d, chLatin_i, chLatin_n, chLatin_g, chEqual
      ,   chDoubleQuote, chNull
  };
  static const XMLCh  gXMLDecl3[] =
  {
          chDoubleQuote, chSpace, chLatin_s, chLatin_t, chLatin_a
      ,   chLatin_n, chLatin_d, chLatin_a, chLatin_l, chLatin_o
      ,   chLatin_n, chLatin_e, chEqual, chDoubleQuote, chNull
  };
  
  static const XMLCh  gXMLDecl4[] =
  {
          chDoubleQuote, chQuestion, chCloseAngle
      ,   chLF, chNull
  };
  
  static const XMLCh  gStartCDATA[] =
  {
          chOpenAngle, chBang, chOpenSquare, chLatin_C, chLatin_D,
          chLatin_A, chLatin_T, chLatin_A, chOpenSquare, chNull
  };
  
  static const XMLCh  gEndCDATA[] =
  {
      chCloseSquare, chCloseSquare, chCloseAngle, chNull
  };
  static const XMLCh  gStartComment[] =
  {
      chOpenAngle, chBang, chDash, chDash, chNull
  };
  
  static const XMLCh  gEndComment[] =
  {
      chDash, chDash, chCloseAngle, chNull
  };
  
  static const XMLCh  gStartDoctype[] =
  {
      chOpenAngle, chBang, chLatin_D, chLatin_O, chLatin_C, chLatin_T,
      chLatin_Y, chLatin_P, chLatin_E, chSpace, chNull
  };
  static const XMLCh  gPublic[] =
  {
      chLatin_P, chLatin_U, chLatin_B, chLatin_L, chLatin_I,
      chLatin_C, chSpace, chDoubleQuote, chNull
  };
  static const XMLCh  gSystem[] =
  {
      chLatin_S, chLatin_Y, chLatin_S, chLatin_T, chLatin_E,
      chLatin_M, chSpace, chDoubleQuote, chNull
  };
  static const XMLCh  gStartEntity[] =
  {
      chOpenAngle, chBang, chLatin_E, chLatin_N, chLatin_T, chLatin_I,
      chLatin_T, chLatin_Y, chSpace, chNull
  };
  static const XMLCh  gNotation[] =
  {
      chLatin_N, chLatin_D, chLatin_A, chLatin_T, chLatin_A,
      chSpace, chDoubleQuote, chNull
  };
  
  #endif //_AXIS_XERCESCONST_H
  
  
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/src/Xml/XmlWriter.hpp
  
  Index: XmlWriter.hpp
  ===================================================================
  /* -*- C++ -*- */
  /*
   *
   *
   * @author Lilantha Darshana (lilantha@erunway.com)
   *
   */
  
  
  #if !defined(_AXIS_XML_WRITER_HPP)
  #define _AXIS_XML_WRITER_HPP
  
  #include <sstream>
  
  const int m_nBufSize = 1024;
  
  /**
   *	Streaming implementation of the Xml writer which use as a writer for
   *	XML SOAP output on serilization; where the DOM document if dump onto.
   *
   *	Stratergy is to attach this stream with the transport channel, so that
   *	on dumping the DOM document will derectly write out to the channel
   *	or to the network socket.
   *
   *	@brief	Streaming implementation of the Xml writer to dump SOAP Envelop
   */
  
  
  // for the time being this is just a ostringstream.
  
  class XmlWriter : public std::ostringstream //std::streambuf
  {
  #if 0
  
  public:
  		XmlWriter()
  		{
  			setp(m_Buf, m_Buf+(m_nBufSize - 1));
  		}
  
  		virtual ~XmlWriter()
  		{
  			sync();
  		}
  
  		std::ostringstream GetXmlBuffer(){ return m_strBuf;}
  
  	protected:
  		int_type overflow(int_type p_ch)
  		{
  			if(p_ch != EOF)
  			{
  				*pptr() = p_ch;
  				pbump(1);
  			}
  			if(flush() == EOF) return EOF;
  			return p_ch;
  		}
  
  		int flush()
  		{
  			const int size = pptr() - pbase();
  			*pptr() = '\0';
  			m_strBuf << m_Buf;
  			pbump(-size);
  			return size;
  		}
  
  		int sync()
  		{
  			if(flush() == EOF) return -1;
  			return 0;
  		}
  
  	private:
  		std::ostringstream m_strBuf;
  		char m_Buf[m_nBufSize];
  
  #endif
  
  };
  
  
  #endif //_AXIS_XML_WRITER_HPP
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/bin/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of Xerces library 
  
  $Log:
  
  Alpha 3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of Xerces library 
  
  $Log:
  
  Alpha 3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/ChildNode.hpp
  
  Index: ChildNode.hpp
  ===================================================================
  #ifndef ChildNode_HEADER_GUARD_
  #define ChildNode_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ChildNode.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  /**
   * ChildNode adds to NodeImpl the capability of being a child, this is having
   * siblings.
   **/
  
  #include "NodeImpl.hpp"
  
  class CDOM_EXPORT ChildNode: public NodeImpl {
  public:
      ChildNode                *previousSibling;
      ChildNode                *nextSibling;
  
  public:
      ChildNode(DocumentImpl *ownerDocument);
      ChildNode(const ChildNode &other);
      virtual ~ChildNode();
      
      virtual NodeImpl * getNextSibling();
      virtual NodeImpl * getParentNode();
      virtual NodeImpl*  getPreviousSibling();
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM.hpp
  
  Index: DOM.hpp
  ===================================================================
  #ifndef DOM_HEADER_GUARD_
  #define DOM_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/04/25 20:29:32  aruna1
   * DOM_XMLDecl type node introduced to get the information of the
   * XML Declaration in a document and store it part of the tree
   *
   * Revision 1.3  2000/02/24 20:11:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:27  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:46  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  //
  //  This is the primary header file for inclusion in application
  //  programs using the C++ XML Document Object Model API.
  //
  
  #include <dom/DOM_Attr.hpp>
  #include <dom/DOM_CDATASection.hpp>
  #include <dom/DOM_CharacterData.hpp>
  #include <dom/DOM_Comment.hpp>
  #include <dom/DOM_Document.hpp>
  #include <dom/DOM_DocumentFragment.hpp>
  #include <dom/DOM_DocumentType.hpp>
  #include <dom/DOM_DOMException.hpp>
  #include <dom/DOM_DOMImplementation.hpp>
  #include <dom/DOM_Element.hpp>
  #include <dom/DOM_Entity.hpp>
  #include <dom/DOM_EntityReference.hpp>
  #include <dom/DOM_NamedNodeMap.hpp>
  #include <dom/DOM_Node.hpp>
  #include <dom/DOM_NodeList.hpp>
  #include <dom/DOM_Notation.hpp>
  #include <dom/DOM_ProcessingInstruction.hpp>
  #include <dom/DOM_Text.hpp>
  #include <dom/DOMString.hpp>
  #include <dom/DOM_XMLDecl.hpp>
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOMString.hpp
  
  Index: DOMString.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOMString.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2000/06/02 00:45:42  andyh
   * DOM Fixes:  DOMString::rawBuffer() now returns a const XMLCh * pointer.
   * Two plain deletes changed to array deletes.
   *
   * Revision 1.11  2000/03/02 19:53:52  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.10  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.9  2000/02/16 22:54:56  abagchi
   * Switched the order of CDOM_EXPORT DomString for operators, to make OS/390 happy
   *
   * Revision 1.8  2000/02/06 07:47:27  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.7  2000/02/04 05:06:30  andyh
   * Change all DOMString offsets and lengths form signed to unsigned
   * Other misc. cleanups.
   *
   * Revision 1.6  2000/02/04 00:52:58  rahulj
   * Changed size_t to int.
   *
   * Revision 1.5  2000/02/03 23:07:27  andyh
   * Add several new functions from Robert Weir to DOMString.
   *
   * Revision 1.4  2000/01/05 22:16:26  robweir
   * Move DOMString implementation class declarations into a new
   * file: DOMStringImpl.hpp.  Include this header in DOMString.hpp
   * for XML_DEBUG builds so the underlying character array will be
   * visible in the debugger.  <ro...@lotus.com>
   *
   * Revision 1.3  1999/12/03 00:11:22  andyh
   * Added DOMString.clone() to node parameters in and out of the DOM,
   * where they had been missed.
   *
   * DOMString::rawBuffer, removed incorrect assumptions about it
   * being null terminated.
   *
   * Revision 1.2  1999/11/30 21:16:25  roddey
   * Changes to add the transcode() method to DOMString, which returns a transcoded
   * version (to local code page) of the DOM string contents. And I changed all of the
   * exception 'throw by pointer' to 'throw by value' style.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:48  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOMString_HEADER_GUARD_
  #define DOMString_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  
  #ifdef XML_DEBUG
  #include "DOMStringImpl.hpp"
  #else
  class DOMStringHandle;
  #endif
  
  class DOM_NullPtr;
  
  /**
   * <code>DOMString</code> is the generic string class that stores all strings
   * used in the DOM C++ API.
   *
   * Though this class supports most of the common string operations to manipulate
   * strings, it is not meant to be a comphrehensive string class.
   */
  
  class CDOM_EXPORT DOMString {
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOMString.  The resulting DOMString
        * object refers to no string at all; it will compare == 0.
        *
        */
      DOMString();
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOMString(const DOMString &other);
  
      /**
        * Constructor to build a DOMString from an XML character array.
        * (XMLCh is a 16 bit UNICODE character).
        *
        * @param other The null-terminated character array to be 
        *   that provides the initial value for the DOMString.
        */
      DOMString(const XMLCh *other);
  
      /**
        * Constructor to build a DOMString from a character array of given length.
        *
        * @param other The character array to be imported into the <code>DOMString</code>
        * @param length The length of the character array to be imported
        */
      DOMString(const XMLCh *other, unsigned int length);
  
      /**
        * Constructor to build a DOMString from an 8 bit character array.
        * The char * string will be transcoded to UNICODE using the default
        * code page on the system where the code is running.
        *
        * @param other The character array to be imported into the <code>DOMString</code>
        */
      DOMString(const char *other);
  
      /**
        * Construct a null DOMString.
        */
      DOMString(int nullPointerValue);
  
      /**
        * Assignment operator.  Make destination DOMString refer to the same
        *      underlying string in memory as the source string.
        *
        * @param the source DOMString.
        */
      DOMString &        operator = (const DOMString &other);
  
  
  
      DOMString &        operator = (DOM_NullPtr *other);
  
      //@}
      /** @name Destructor. */
      //@{
  
  	 /**
  	  * Destructor for DOMString
  	  *
  	  */
      ~DOMString();
  
      //@}
      /** @name Operators for string manipulation. */
      //@{
  
      /**
        * Concatenate a DOMString to another.
        *
        * @param other The string to be concatenated.
        * @return The concatenated object
        */
      // DOMString   operator + (const DOMString &other);
  
      //@}
      /** @name Equality and Inequality operators. */
      //@{
  
      /**
        * Equality operator.  
        *
        * @param other The object to be compared with.
        * @return True if the two DOMStrings refer to the same underlying string
        *  in memory.  
        *  <p>
        *  WARNING:  operator == does NOT compare the contents of
        *  the two  strings.  To do this, use the <code>DOMString::equals()</code>
        *  This behavior is modelled after the String operations in Java, and
        *  is also similar to operator == on the other DOM_* classes.
        */
      bool        operator == (const DOMString &other) const;
  
      /**
        * Inequality operator.
        *
        * @param other The object to be compared with.
        * @return True if the two DOMStrings refer to different underlying strings in
        *    memory.
        * <p>
        *  WARNING:  operator == does NOT compare the contents of
        *  the two  strings.  To do this, use the <code>DOMString::equals()</code>
        *  This behavior is modelled after the String operations in Java, and
        *  is also similar to operator == on the other DOM_* classes.
        */
      bool        operator != (const DOMString &other) const;
  
      /**
        * Equality operator.  Test for a null DOMString, which is one that does
        *   not refer to any string at all; similar to a null object reference
        *   variable in Java.
        *
        * @param other must be 0 or null.
        * @return 
        */
      bool        operator == (const DOM_NullPtr *other) const;
  
      /**
        * Inequality operator, for null test.
        *
        * @param other must be 0 or null.
        * @return True if the two strings are different, false otherwise
        */
      bool        operator != (const DOM_NullPtr *other) const;
  
      //@}
      /** @name Functions to change the string. */
      //@{
  
  
      /**
        * Preallocate storage in the string to hold a given number of characters.
        * A DOMString will grow its buffer on demand, as characters are added,
        * but it can be more efficient to allocate once in advance, if the size is known.
        *
        * @param size The number of 16 bit characters to reserve.
        */
      void reserve(unsigned int size);
  
      
      /**
        * Appends the content of another <code>DOMString</code> to this string.
        *
        * @param other The object to be appended
        */
      void        appendData(const DOMString &other);
  
      /**
        * Append a single Unicode character to this string.
        *
        * @param other The object to be appended
        */
      void        appendData(XMLCh ch);
  
       /**
        * Append a null-terminated XMLCh * (Unicode) string to this string.
        *
        * @param other The object to be appended
        */
      void        appendData(const XMLCh *other);
  
  
      /**
        * Appends the content of another <code>DOMString</code> to this string.
        *
        * @param other The object to be appended
        */
  	DOMString& operator +=(const DOMString &other);
  
  
      /**
        * Appends the content of a c-style string to this string.
        *
        * @param other The string to be appended
        */
      DOMString& operator +=(const XMLCh* other);
  
  
      /**
        * Appends a character to this string.
        *
        * @param ch The character to be appended
        */
  	DOMString& operator +=(XMLCh ch);
  
  
      /**
        * Clears the data of this <code>DOMString</code>.
        *
        * @param offset The position from the beginning from which the data must be deleted
        * @param count The count of characters from the offset that must be deleted
        */
      void        deleteData(unsigned int offset, unsigned int count);
  
      /**
        * Inserts a string within the existing <code>DOMString</code> at an arbitrary position.
        *
        * @param offset The offset from the beginning at which the insertion needs to be done 
        *               in <code>this</code> object
        * @param data The <code>DOMString</code> containing the data that needs to be inserted
        * @return The object to be returned.
        */
      void        insertData(unsigned int offset, const DOMString &data);
  
      //@}
      /** @name Functions to get properties of the string. */
      //@{
  
      /**
        * Returns the character at the specified position.
        *
        * @param index The position at which the character is being requested
        * @return Returns the character at the specified position.
        */
      XMLCh       charAt(unsigned int index) const;
  
      /**
        * Returns a handle to the raw buffer in the <code>DOMString</code>.
        *
        * @return The pointer inside the <code>DOMString</code> containg the string data.
        *         Note: the data is not always null terminated.  Do not rely on
        *         a null being there, and do not add one, as several DOMStrings
        *         with different lengths may share the same raw buffer.
        */
      const XMLCh *rawBuffer() const;
  
      /**
        * Returns a copy of the string, transcoded to the local code page. The
        * caller owns the (char *) string that is returned, and is responsible
        * for deleting it.
        *
        * @return A pointer to a newly allocated buffer of char elements, which
        *         represents the original string, but in the local encoding.
        */
      char        *transcode() const;
  
  
      /**
        * Creates a DOMString, transcoded from an input 8 bit char * string
        * in the local code page.
        *
        * @param str The string to be transcoded
        * @return A new DOMString object
        */
      static DOMString transcode(const char* str);
  
  
  
      /**
        * Returns a sub-string of the <code>DOMString</code> starting at a specified position.
        *
        * @param offset The offset from the beginning from which the sub-string is being requested.
        * @param count The count of characters in the requested sub-string
        * @return The sub-string of the <code>DOMString</code> being requested
        */
      DOMString   substringData(unsigned int offset, unsigned int count) const;
  
      /**
        * Returns the length of the DOMString.
        *
        * @return The length of the string
        */
      unsigned int length() const;
  
      //@}
      /** @name Cloning function. */
      //@{
  
      /**
        * Makes a clone of a the DOMString.
        *
        * @return The object to be cloned.
        */
      DOMString   clone() const;
  
      //@}
      /** @name Print functions. */
      //@{
  
      /**
        * Dumps the <code>DOMString</code> on the console.
        *
        */
      void        print() const;
  
      /**
        * Dumps the <code>DOMString</code> on the console with a line feed at the end.
        *
        */
      void        println() const;
  
      //@}
      /** @name Functions to compare a string with another. */
      //@{
  
      /**
        * Compares a DOMString with another.
        *
        * This compareString does not match the semantics of the standard C strcmp.  
        * All it needs to do is define some less than - equals - greater than 
        * ordering of strings.  How doesn't matter.
        *
        *
        * @param other The object to be compared with
        * @return Either -1, 0, or 1 based on the comparison. 
        */
      int         compareString(const DOMString &other) const;
  
      /**
        * Tells if a <code>DOMString</code> contains the same character data
        * as another.
        *
        * @param other The DOMString to be compared with.
        * @return True if the two <code>DOMString</code>s are same, false otherwise.
        */
      bool        equals(const DOMString &other) const;
  
  
        /**
        * Compare a DOMString with a null-terminated raw 16-bit character
        * string.
        *
        * @param other The character string to be compared with.
        * @return True if the strings are the same, false otherwise.
        */
      bool        equals(const XMLCh  *other) const;
  
  
      //@}
      friend      class DOMStringData;
      friend      class DOMStringHandle;
      friend      class DomMemDebug;
  private:
  
      DOMStringHandle         *fHandle;
      static int              gLiveStringHandleCount;
      static int              gTotalStringHandleCount;
      static int              gLiveStringDataCount;
      static int              gTotalStringDataCount;
  };
  
  
  /****** Global Helper Functions ******/
  
  /**
    * Concatenate two DOMString's.
    *
    * @param lhs the first string
    * @param rhs the second string
    * @return The concatenated object
    */
  DOMString CDOM_EXPORT operator + (const DOMString &lhs, const DOMString &rhs);
  
  /**
    * Concatenate a null terminated Unicode string to a DOMString.
    *
    * @param lhs the DOMString
    * @param rhs the XMLCh * string
    * @return The concatenated object
    */
  DOMString CDOM_EXPORT operator + (const DOMString &lhs, const XMLCh* rhs);
  
  
  /**
    * Concatenate a DOMString to a null terminated Unicode string
    *
    * @param lhs the null-terminated Unicode string
    * @param rhs the DOMString
    * @return The concatenated object
    */
  DOMString CDOM_EXPORT operator + (const XMLCh* lhs, const DOMString &rhs);
  
  
  /**
    * Concatenate a single Unicode character to a DOMString.
    *
    * @param lhs the DOMString
    * @param rhs the character
    * @return The concatenated object
    */
  DOMString CDOM_EXPORT operator + (const DOMString &lhs, XMLCh rhs);
  
  
  /**
    * Concatenate a DOMString to a single Unicode character.
    *
    * @param lhs the character
    * @param rhs the DOMString
    * @return The concatenated object
    */
  DOMString CDOM_EXPORT operator + (XMLCh lhs, const DOMString &rhs);
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Attr.hpp
  
  Index: DOM_Attr.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Attr.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2000/03/11 02:58:38  chchou
   * Fix bug # 18, remove set method of readonly attributes
   *
   * Revision 1.6  2000/03/02 19:53:52  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/17 17:47:24  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.3  2000/02/06 07:47:27  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:06  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:48  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Attr_HEADER_GUARD_
  #define DOM_Attr_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  #include <dom/DOM_Element.hpp>
  
  class AttrImpl;
  
  /**
  * The <code>DOM_Attr</code> class refers to an attribute of an XML element.
  *
  * Typically the allowable values for the 
  * attribute are defined in a documenttype definition.
  * <p><code>DOM_Attr</code> objects inherit the <code>DOM_Node</code>  interface, but 
  * since attributes are not actually child nodes of the elements they are associated with, the 
  * DOM does not consider them part of the document  tree.  Thus, the 
  * <code>DOM_Node</code> attributes <code>parentNode</code>,  
  * <code>previousSibling</code>, and <code>nextSibling</code> have a  null 
  * value for <code>DOM_Attr</code> objects. The DOM takes the  view that 
  * attributes are properties of elements rather than having a  separate 
  * identity from the elements they are associated with;  this should make it 
  * more efficient to implement such features as default attributes associated 
  * with all elements of a  given type.  Furthermore, attribute nodes 
  * may not be immediate children of a <code>DocumentFragment</code>. However, 
  * they can be associated with <code>Element</code> nodes contained within a 
  * <code>DocumentFragment</code>. In short, users of the DOM 
  * need to be aware that  <code>Attr</code> nodes have some things in  common 
  * with other objects inheriting the <code>Node</code> interface, but they 
  * also are quite distinct.
  *  
  */
  class CDOM_EXPORT DOM_Attr: public DOM_Node {
      
  public:
    /** @name Constructors and assignment operators */
    //@{
    /**
      * Default constructor for DOM_Attr.  The resulting object does not
      * refer to any Attribute; it will compare == to 0, and is similar
      * to a null object reference variable in Java.
      *
      */
      DOM_Attr();
  
  public:
  
    /**
      * Copy constructor.  Creates a new <code>DOM_Attr</code> that refers to the
      *   same underlying Attribute as the original.  See also DOM_Node::clone(),
      * which will copy an actual attribute, rather than just creating a new
      * reference to the original attribute.
      *
      * @param other The source attribute reference object
      */
      DOM_Attr(const DOM_Attr &other);
  
    /**
      * Assignment operator
      *
      * @param other The source attribute object
      */
      DOM_Attr & operator = (const DOM_Attr &other);
      
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Attr & operator = (const DOM_NullPtr *val);
  
  
  
  	//@}
    /** @name Destructor */
    //@{
  	    
    /**
      * Destructor.  The object being destroyed is a reference to the Attribute
      * "node", not the underlying attribute itself.
      *
      */
      ~DOM_Attr();
  	//@}
      
    /** @name Getter functions */
    //@{
      /**
      * Returns the name of this attribute. 
      */
      DOMString       getName() const;
  
      /**
      *
      * Returns true if the attribute received its value explicitly in the
      * XML document, or if a value was assigned programatically with
      * the setValue function.  Returns false if the attribute value 
      * came from the default value declared in the document's DTD.
      */
      bool            getSpecified() const;
  
      /**
  	* Returns the value of the attribute.
  	*
      * The value of the attribute is returned as a string. 
      * Character and general entity references are replaced with their values.
      */
      DOMString       getValue() const;
      
  	//@}
    /** @name Setter functions */
    //@{
      /**
  	* Sets the value of the attribute.  A text node with the unparsed contents
      * of the string will be created.
  	*
      * @param value The value of the DOM attribute to be set
      */
      void            setValue(const DOMString &value);
  	//@}
  
      /** @name Functions introduced in DOM Level 2. */
      //@{
      /**
       * The <code>DOM_Element</code> node this attribute is attached to or
       * <code>null</code> if this attribute is not in use.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      DOM_Element     getOwnerElement() const;
      //@}
  
  protected:
      DOM_Attr(AttrImpl *attr);
  
      friend class DOM_Element;
      friend class DOM_Document;
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_CDATASection.hpp
  
  Index: DOM_CDATASection.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_CDATASection.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:53:52  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:06  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:49  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_CDataSection_HEADER_GUARD_
  #define DOM_CDataSection_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Text.hpp>
  
  class CDATASectionImpl;
  
  /**
   * <code>DOM_CDataSection</code> objects refer to the data from an
   * XML CDATA section.  These are used to escape blocks of text containing  characters 
   * that would otherwise be regarded as markup.
   *
   * <p>Note that the string data associated with the CDATA section may 
   * contain characters that need to be escaped when appearing in an
   * XML document outside of a CDATA section.  
   * <p> The <code>DOM_CDATASection</code> class inherits from the 
   * <code>DOM_CharacterData</code> class through the <code>Text</code> 
   * interface. Adjacent CDATASection nodes are not merged by use 
   * of the Element.normalize() method.
   */
  class CDOM_EXPORT DOM_CDATASection: public DOM_Text {
  public:
    /** @name Constructors and assignment operators */
    //@{
    /**
      * Default constructor for DOM_CDATASection.  The resulting object does not
      * refer to any actual CData section; it will compare == to 0, and is similar
      * to a null object reference variable in Java.
      *
      */
          DOM_CDATASection();
    /**
      * Copy constructor.  Creates a new <code>DOM_CDataSection</code> that refers to the
      *   same underlying data as the original.  See also <code>DOM_Node::clone()</code>,
      * which will copy the underlying data, rather than just creating a new
      * reference to the original object.
      *
      * @param other The source <code>DOM_CDATASection</code> object
      */
          DOM_CDATASection(const DOM_CDATASection &other);
  
    /**
      * Assignment operator.
      *
      * @param other The object to be copied.
      */
          DOM_CDATASection & operator = (const DOM_CDATASection &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_CDATASection & operator = (const DOM_NullPtr *val);
  
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_CDATASection.
  	  *
  	  */
  
  	    ~DOM_CDATASection();
      //@}
  
  
  protected:
  	DOM_CDATASection(CDATASectionImpl *);
  
      friend class DOM_Document;
  
  };
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_CharacterData.hpp
  
  Index: DOM_CharacterData.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_CharacterData.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/02 19:53:53  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/15 23:17:36  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.3  2000/02/06 07:47:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/02/04 01:49:29  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.1.1.1  1999/11/09 01:08:49  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_CharacterData_HEADER_GUARD_
  #define DOM_CharacterData_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class CharacterDataImpl;
  
  /**
   * The <code>DOM_CharacterData</code> interface extends Node with a set  of 
   * methods for accessing character data in the DOM.
   *
   * For clarity this set is defined here rather than on each class that uses 
   * these methods. No DOM objects correspond directly to 
   * <code>CharacterData</code>, though <code>Text</code> and others do inherit 
   * the interface from it. All <code>offset</code>s in this interface start 
   * from 0, and index in terms of Unicode 16 bit storage units.
   */
  class CDOM_EXPORT DOM_CharacterData: public DOM_Node {
  
  private:
  
  public:
    /** @name Constructors and assignment operator */
    //@{
    /**
      * Default constructor for DOM_CharacterData.  While there can be
      * no actual DOM nodes of type CharacterData, the C++ objects
      * function more like reference variables, and instances of
      * <code>DOM_CharacterData</code> can exist.  They will be null when created
      * by this constructor, and can then be assigned to refer to Text
      * or CDATASection nodes.
      */
      DOM_CharacterData();
  
    /**
      * Copy constructor
      *
      * @param other The object to be copied
      */
      DOM_CharacterData(const DOM_CharacterData &other);
    /**
      * Assignment operator
      *
      * @param other The object to be copied
      */
      DOM_CharacterData & operator = (const DOM_CharacterData &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_CharacterData & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_CharacterData.  The object being destroyed
        * is the reference to the Character Data node, not the character
        * data itself.
  	  */
      ~DOM_CharacterData();
  
  
      //@}
  
      /** @name Getter functions. */
      //@{
    /**
     * Returns the character data of the node that implements this interface. 
     *
     * The DOM implementation may not put arbitrary limits on the amount of data that 
     * may be stored in a  <code>CharacterData</code> node. However, 
     * implementation limits may  mean that the entirety of a node's data may 
     * not fit into a single <code>DOMString</code>. In such cases, the user 
     * may call <code>substringData</code> to retrieve the data in 
     * appropriately sized pieces.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
     * @exception DOMException
     *   DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
     *   fit in a <code>DOMString</code> variable on the implementation 
     *   platform.
     */
    DOMString          getData() const;
    /**
     * Returns the number of characters that are available through <code>data</code> and 
     * the <code>substringData</code> method below. 
     *
     * This may have the value 
     * zero, i.e., <code>CharacterData</code> nodes may be empty.
     */
    unsigned int       getLength() const;
    /**
     * Extracts a range of data from the node.
     *
     * @param offset Start offset of substring to extract.
     * @param count The number of characters to extract.
     * @return The specified substring. If the sum of <code>offset</code> and 
     *   <code>count</code> exceeds the <code>length</code>, then all 
     *   characters to the end of the data are returned.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
     *   than the number of characters in <code>data</code>, or if the 
     *   specified <code>count</code> is negative.
     *   <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does not 
     *   fit into a <code>DOMString</code>.
     */
    DOMString          substringData(unsigned int offset, 
                                     unsigned int count) const;
      //@}
      /** @name Functions that set or change data. */
      //@{
    /**
     * Append the string to the end of the character data of the node.
     *
     * Upon success, <code>data</code> provides access to the concatenation of 
     * <code>data</code> and the <code>DOMString</code> specified.
     * @param arg The <code>DOMString</code> to append.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void               appendData(const DOMString &arg);
    /**
     * Insert a string at the specified character offset.
     *
     * @param offset The character offset at which to insert.
     * @param arg The <code>DOMString</code> to insert.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
     *   than the number of characters in <code>data</code>.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void               insertData(unsigned int offset, const  DOMString &arg);
    /**
     * Remove a range of characters from the node. 
     *
     * Upon success, 
     * <code>data</code> and <code>length</code> reflect the change.
     * @param offset The offset from which to remove characters.
     * @param count The number of characters to delete. If the sum of 
     *   <code>offset</code> and <code>count</code> exceeds <code>length</code> 
     *   then all characters from <code>offset</code> to the end of the data 
     *   are deleted.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
     *   than the number of characters in <code>data</code>, or if the 
     *   specified <code>count</code> is negative.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void               deleteData(unsigned int offset, 
                                  unsigned int count);
    /**
     * Replace the characters starting at the specified character offset with 
     * the specified string.
     *
     * @param offset The offset from which to start replacing.
     * @param count The number of characters to replace. If the sum of 
     *   <code>offset</code> and <code>count</code> exceeds <code>length</code>
     *   , then all characters to the end of the data are replaced (i.e., the 
     *   effect is the same as a <code>remove</code> method call with the same 
     *   range, followed by an <code>append</code> method invocation).
     * @param arg The <code>DOMString</code> with which the range must be 
     *   replaced.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
     *   than the number of characters in <code>data</code>, or if the 
     *   specified <code>count</code> is negative.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void               replaceData(unsigned int offset, 
                                   unsigned int count, 
                                   const DOMString &arg);
  
    /**
     * Sets the character data of the node that implements this interface. 
     *
     * @param data The <code>DOMString</code> to set.
     */
    void               setData(const DOMString &data);
    //@}
  
  protected:
      DOM_CharacterData(CharacterDataImpl *impl);
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Comment.hpp
  
  Index: DOM_Comment.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Comment.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:53:54  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:06  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:50  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:14  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Comment_HEADER_GUARD_
  #define DOM_Comment_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_CharacterData.hpp>
  
  class CommentImpl;
  
  /**
   * Class to refer to XML comment nodes in the DOM.
   *
   * <P>The string value contains all of the characters between 
   * the starting '<code>&lt;!--</code>' and ending '<code>--&gt;</code>'.
   */
  class CDOM_EXPORT DOM_Comment: public DOM_CharacterData {
  
  public:
    /** @name Constructors and assignment operators */
    //@{
    /**
      * Default constructor for DOM_Comment.  The resulting object does not
      * refer to an actual Comment node; it will compare == to 0, and is similar
      * to a null object reference variable in Java.  It may subsequently be
      * assigned to refer to an actual comment node.
      * <p>
      * New comment nodes are created by DOM_Document::createComment().
      *
      */
      DOM_Comment();
  
    /**
      * Copy constructor.   Creates a new <code>DOM_Comment</code> that refers to the
      * same underlying node as the original.  See also DOM_Node::clone(),
      * which will copy the actual Comment node, rather than just creating a new
      * reference to the original node.
      *
      * @param other The object to be copied.
      */
      DOM_Comment(const DOM_Comment &other);
    /**
      * Assignment operator.
      *
      * @param other The object to be copied.
      */
      DOM_Comment & operator = (const DOM_Comment &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Comment & operator = (const DOM_NullPtr *val);
  
  
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_Comment.  The object being destroyed is the reference
        * object, not the underlying Comment node itself.
        * 
  	  */
      ~DOM_Comment();
      //@}
  
  protected:
      DOM_Comment(CommentImpl *comment);
  
      friend class DOM_Document;
  
  
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DOMException.hpp
  
  Index: DOM_DOMException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_DOMException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2000/03/02 19:53:54  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/10 19:52:08  abagchi
   * Added docs for enum
   *
   * Revision 1.4  2000/02/06 07:47:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  2000/02/04 05:46:31  andyh
   * Change offsets and lengths form signed to unsigned
   *
   * Revision 1.2  2000/01/05 01:16:06  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:53  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:14  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOMException_HEADER_GUARD_
  #define DOMException_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOMString.hpp>
  
  /**
    * Encapsulate a general DOM error or warning.
    *
    * <p> The DOM will create and throw an instance of DOMException
    * when an error condition is detected.  Exceptions can occur
    * when an application directly manipulates the DOM document
    * tree that is produced by the parser, or when a document tree
    * is created from scratch using the DOM API.  DOM exceptions will
    * not be generated by the parser while constructing a document
    * tree from an XML source document.
    *
    * <p>Unlike the other classes in the C++ DOM API, DOM_DOMException
    * is NOT a reference to an underlying implementation class, and
    * does not provide automatic memory management.  Code that catches
    * a DOM exception is responsible for deleting it, or otherwise
    * arranging for its disposal.
    *
    */
  class CDOM_EXPORT DOM_DOMException  {
  public:
      /** @name Enumerators for DOM Exceptions */
      //@{
          enum ExceptionCode {
                  INDEX_SIZE_ERR       = 1,
                  DOMSTRING_SIZE_ERR   = 2,
                  HIERARCHY_REQUEST_ERR = 3,
                  WRONG_DOCUMENT_ERR   = 4,
                  INVALID_CHARACTER_ERR = 5,
                  NO_DATA_ALLOWED_ERR  = 6,
                  NO_MODIFICATION_ALLOWED_ERR = 7,
                  NOT_FOUND_ERR        = 8,
                  NOT_SUPPORTED_ERR    = 9,
                  INUSE_ATTRIBUTE_ERR  = 10,
                  INVALID_STATE_ERR    = 11,
  	       	SYNTAX_ERR	     = 12,
          	INVALID_MODIFICATION_ERR    = 13,
          	NAMESPACE_ERR	     = 14,
          	INVALID_ACCESS_ERR   = 15
          };
      //@}
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_DOMException.
        *
        */
      DOM_DOMException();
  
      /**
        * Constructor which takes an error code and a message.
        *
        * @param code The error code which indicates the exception
        * @param message The string containing the error message
        */
      DOM_DOMException(short code, const DOMString &message);
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOM_DOMException(const DOM_DOMException &other);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_DOMException.  Applications are responsible
        * for deleting DOM_Exception objects that they catch after they
        * have completed their exception processing.
  	  *
  	  */
      virtual ~DOM_DOMException();
      //@}
  
      /** @name Public variables. */
       //@{
  	 /**
  	  * A code value, from the set defined by the ExceptionCode enum,
        * indicating the type of error that occured.
  	  */
     ExceptionCode   code;
  
  	 /**
  	  * A string value.  Applications may use this field to hold an error
        *  message.  The field value is not set by the DOM implementation,
        *  meaning that the string will be empty when an exception is first
        *  thrown.
  	  */
      DOMString msg;
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DOMImplementation.hpp
  
  Index: DOM_DOMImplementation.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_DOMImplementation.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2001/10/25 21:47:14  peiyongz
   * Replace XMLDeleterFor with XMLRegisterCleanup
   *
   * Revision 1.7  2000/03/02 19:53:54  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/17 17:47:24  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.4  2000/02/10 23:35:11  andyh
   * Update DOM_DOMImplementation::CreateDocumentType and
   * DOM_DocumentType to match latest from W3C
   *
   * Revision 1.3  2000/02/06 07:47:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:57  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:15  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOMImplementation_HEADER_GUARD_
  #define DOMImplementation_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOMString.hpp>
  
  class DOM_Document;
  class DOM_DocumentType;
  
  /**
   *   This class provides a way to query the capabilities of an implementation
   *   of the DOM
   */
  
  
  class CDOM_EXPORT DOM_DOMImplementation {
   private:
      DOM_DOMImplementation(const DOM_DOMImplementation &other);
  
   public:
  /** @name Constructors and assignment operators */
  //@{  
   /**
     * Construct a DOM_Implementation reference variable, which should
     * be assigned to the return value from 
     * <code>DOM_Implementation::getImplementation()</code>.
     */
      DOM_DOMImplementation();
  
   /**
     * Assignment operator
     *
     */
      DOM_DOMImplementation & operator = (const DOM_DOMImplementation &other);
  //@}
  
    /** @name Destructor */
    //@{  
    /**
      * Destructor.  The object being destroyed is a reference to the DOMImplemenentation,
      * not the underlying DOMImplementation object itself, which is owned by
      * the implementation code.
      *
      */
  
      ~DOM_DOMImplementation();
  	//@}
  
    /** @name Getter functions */
    //@{
  
   /**
     * Test if the DOM implementation implements a specific feature.
     *
     * @param feature The string of the feature to test (case-insensitive). The legal 
     *        values are defined throughout this specification. The string must be 
     *        an <EM>XML name</EM> (see also Compliance).
     * @param version This is the version number of the package name to test.  
     *   In Level 1, this is the string "1.0". If the version is not specified, 
     *   supporting any version of the  feature will cause the method to return 
     *   <code>true</code>. 
     * @return <code>true</code> if the feature is implemented in the specified 
     *   version, <code>false</code> otherwise.
     */
   bool  hasFeature(const DOMString &feature,  const DOMString &version);
  
  
    /** Return a reference to a DOM_Implementation object for this 
      *  DOM implementation. 
      *
      * Intended to support applications that may be
      * using DOMs retrieved from several different sources, potentially
      * with different underlying implementations.
      */
   static DOM_DOMImplementation &getImplementation();
    
   //@}
  
      /** @name Functions introduced in DOM Level 2. */
      //@{
      /**
       * Creates an empty <code>DOM_DocumentType</code> node.
       * Entity declarations and notations are not made available.
       * Entity reference expansions and default attribute additions
       * do not occur. It is expected that a future version of the DOM
       * will provide a way for populating a <code>DOM_DocumentType</code>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param qualifiedName The <em>qualified name</em>
       * of the document type to be created.
       * @param publicId The external subset public identifier.
       * @param systemId The external subset system identifier.
       * @return A new <code>DOM_DocumentType</code> node with
       * <code>Node.ownerDocument</code> set to <code>null</code>.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name
       *      contains an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is malformed.
       */
      DOM_DocumentType createDocumentType(const DOMString &qualifiedName,
  	const DOMString &publicId, const DOMString &systemId);
  
      /**
       * Creates an XML <code>DOM_Document</code> object of the specified type
       * with its document element.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       * the document element to create, or <code>null</code>.
       * @param qualifiedName The <em>qualified name</em>
       * of the document element to be created.
       * @param doctype The type of document to be created or <code>null</code>.
       * <p>When <code>doctype</code> is not <code>null</code>, its
       * <code>Node.ownerDocument</code> attribute is set to the document
       * being created.
       * @return A new <code>DOM_Document</code> object.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name
       *      contains an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is 
       *      malformed, or if the <CODE>qualifiedName</CODE> has a prefix that is 
       *      "xml" and the <CODE>namespaceURI</CODE> is different from 
       *      "http://www.w3.org/XML/1998/namespace".
       * <br>
       *   WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already
       *   been used with a different document.
       */
      DOM_Document createDocument(const DOMString &namespaceURI,
  	const DOMString &qualifiedName, const DOM_DocumentType &doctype);
      //@}
  
      // -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitDOM_DOMImplementation();   
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Document.hpp
  
  Index: DOM_Document.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOM_Document.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
  */
  
  #ifndef DOM_Document_HEADER_GUARD_
  #define DOM_Document_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_DocumentType.hpp>
  #include <dom/DOM_DOMImplementation.hpp>
  #include <dom/DOM_Element.hpp>
  #include <dom/DOM_DocumentFragment.hpp>
  #include <dom/DOM_Comment.hpp>
  #include <dom/DOM_CDATASection.hpp>
  #include <dom/DOM_ProcessingInstruction.hpp>
  #include <dom/DOM_Attr.hpp>
  #include <dom/DOM_Entity.hpp>
  #include <dom/DOM_EntityReference.hpp>
  #include <dom/DOM_NodeList.hpp>
  #include <dom/DOM_Notation.hpp>
  #include <dom/DOM_Text.hpp>
  #include <dom/DOM_Node.hpp>
  #include <dom/DOM_NodeIterator.hpp>
  #include <dom/DOM_TreeWalker.hpp>
  #include <dom/DOM_XMLDecl.hpp>
  #include <dom/DOM_Range.hpp>
  
  class DocumentImpl;
  class NodeIteratorImpl;
  
  
  /**
  * Class to refer to XML Document nodes in the DOM.
  *
  * Conceptually, a DOM document node is the root of the document tree, and provides
  * the  primary access to the document's data.
  * <p>Since elements, text nodes, comments, processing instructions, etc.
  * cannot exist outside the context of a <code>Document</code>, the
  * <code>Document</code> interface also contains the factory methods needed
  * to create these objects.  The <code>Node</code> objects created have a
  * <code>ownerDocument</code> attribute which associates them with the
  * <code>Document</code> within whose  context they were created.
  */
  class CDOM_EXPORT DOM_Document: public DOM_Node {
  
  public:
      /** @name Constructors and assignment operators */
      //@{
      /**
       * The default constructor for DOM_Document creates a null
       * DOM_Document object that refers to no document.  It may subsequently be
       * assigned to refer to an actual Document node.
       *
       * To create a new document, use the static method
       *   <code> DOM_Document::createDocument(). </code>
       *
       */
      DOM_Document();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_Document</code> that refers to the
        * same underlying actual document as the original.
        *
        * @param other The object to be copied
        */
      DOM_Document(const DOM_Document &other);
      /**
        * Assignment operator
        *
        * @param other The object to be copied
        */
      DOM_Document & operator = (const DOM_Document &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Document & operator = (const DOM_NullPtr *val);
  
  
  
  	//@}
    /** @name Destructor */
    //@{
  	
    /**
      * Destructor.  The object being destroyed is the reference
      * object, not the underlying Document itself.
      *
      * <p>The reference counting memory management will
      *  delete the underlying document itself if this
      * DOM_Document is the last remaining to refer to the Document,
      * and if there are no remaining references to any of the nodes
      * within the document tree.  If other live references do remain,
      * the underlying document itself remains also.
      *
      */
      ~DOM_Document();
  
    //@}
    /** @name Factory methods to create new nodes for the Document */
    //@{
  
      /**
      *   Create a new empty document.
      *
      *   This differs from the <code> DOM_Document </code> default
      *   constructor, which creates
      *   a null reference only, not an actual document.
      *
      *   <p>This function is an extension to the DOM API, which
      *   lacks any mechanism for the creation of new documents.
      *   @return A new <code>DOM_Document</code>, which may then
      *   be populated using the DOM API calls.
      */
      static DOM_Document   createDocument();
  
      /**
      *  Create a new entity.
      *
      *  Non-standard extension.
      * @param name The name of the entity to instantiate
      *
      */
      DOM_Entity     createEntity(const DOMString &name);
  
      /**
      * Creates an element of the type specified.
      *
      * Note that the instance returned
      * implements the Element interface, so attributes can be specified
      * directly  on the returned object.
      * @param tagName The name of the element type to instantiate.
      * @return A <code>DOM_Element</code> that reference the new element.
      * @exception DOMException
      *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
      *   illegal character.
      */
      DOM_Element     createElement(const DOMString &tagName);
  
      /**
      * Creates an element of the type specified.
      * This non-standard overload of createElement, with the name specified as
      * raw Unicode string, is intended for use from XML parsers,
      * and is the best performing way to create elements.  The name
      * string is not checked for conformance to the XML rules for valid
      * element names.
      *
      *
      * @param tagName The name of the element type to instantiate, as
      *    a null-terminated unicode string.
      * @return A new <CODE>DOM_Element</CODE>
      *        object with the <CODE>nodeName</CODE> attribute set to
      *        <CODE>tagName</CODE>, and <CODE>localName</CODE>,
      *        <CODE>prefix</CODE>, and <CODE>namespaceURI</CODE> set to
      *        <CODE>null</CODE>.
      */
      DOM_Element     createElement(const XMLCh *tagName);
  
  
      /**
      * Creates an empty DocumentFragment object.
      *
      * @return A <code>DOM_DocumentFragment</code> that references the newly
      * created document fragment.
      */
      DOM_DocumentFragment   createDocumentFragment();
  
      /**
      * Creates a Text node given the specified string.
      *
      * @param data The data for the node.
      * @return A <code>DOM_Text</code> object that references the newly
      *  created text node.
      */
      DOM_Text         createTextNode(const DOMString &data);
  
      /**
      * Creates a Comment node given the specified string.
      *
      * @param data The data for the comment.
      * @return A <code>DOM_Comment</code> that references the newly
      *  created comment node.
      */
      DOM_Comment      createComment(const DOMString &data);
  
      /**
      * Creates a CDATASection node whose value  is the specified
      * string.
      *
      * @param data The data for the <code>DOM_CDATASection</code> contents.
      * @return A <code>DOM_CDATASection</code> object.
      * @exception DOMException
      *   NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
      */
      DOM_CDATASection   createCDATASection(const DOMString &data);
  
      /**
      *  Create a DocumentType node.  Non-standard extension.
      *
      * @return A <code>DOM_DocumentType</code> that references the newly
      *  created DocumentType node.
      *
      */
      DOM_DocumentType createDocumentType(const DOMString &name);
  
  
      /**
      *  Create a Notation.
      *
      *  Non-standard extension.
      *
      *  @param name The name of the notation to instantiate
      * @return A <code>DOM_Notation</code> that references the newly
      *  created Notation node.
      */
      DOM_Notation createNotation(const DOMString &name);
  
  
      /**
      * Creates a ProcessingInstruction node given the specified
      * name and data strings.
      *
      * @param target The target part of the processing instruction.
      * @param data The data for the node.
      * @return A <code>DOM_ProcessingInstruction</code> that references the newly
      *  created PI node.
      * @exception DOMException
      *   INVALID_CHARACTER_ERR: Raised if an illegal character is specified.
      */
      DOM_ProcessingInstruction createProcessingInstruction(const DOMString &target,
          const DOMString &data);
  
  
      /**
       * Creates an Attr of the given name.
       *
       * Note that the
       * <code>Attr</code> instance can then be attached to an Element
       * using the <code>DOMElement::setAttribute()</code> method.
       * @param name The name of the attribute.
       * @return A new <CODE>DOM_Attr</CODE>
       *       object with the <CODE>nodeName</CODE> attribute set to
       *       <CODE>name</CODE>, and <CODE>localName</CODE>, <CODE>prefix</CODE>,
       *       and <CODE>namespaceURI</CODE> set to
       *       <CODE>null</CODE>.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
       *   illegal character.
       */
      DOM_Attr     createAttribute(const DOMString &name);
  
  
      /**
       * Creates an EntityReference object.
       *
       * @param name The name of the entity to reference.
       * @return A <code>DOM_EntityReference</code> that references the newly
       *  created EntityReference node.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
       *   illegal character.
       */
      DOM_EntityReference    createEntityReference(const DOMString &name);
  
  
      /**
       * Creates a NodeIterator object.   (DOM2)
       *
       * NodeIterators are used to step through a set of nodes, e.g. the set of nodes in a NodeList, the
       * document subtree governed by a particular node, the results of a query, or any other set of nodes.
       * The set of nodes to be iterated is determined by the implementation of the NodeIterator. DOM Level 2
       * specifies a single NodeIterator implementation for document-order traversal of a document subtree.
       * Instances of these iterators are created by calling <code>DocumentTraversal.createNodeIterator()</code>.
       *
       * To produce a view of the document that has entity references expanded and does not
       * expose the entity reference node itself, use the <code>whatToShow</code> flags to hide the entity
       * reference node and set expandEntityReferences to true when creating the iterator. To
       * produce a view of the document that has entity reference nodes but no entity expansion,
       * use the <code>whatToShow</code> flags to show the entity reference node and set
       * expandEntityReferences to false.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param root The root node of the DOM tree
       * @param whatToShow This attribute determines which node types are presented via the iterator.
       * @param filter The filter used to screen nodes
       * @param entityReferenceExpansion The value of this flag determines whether the children of entity reference nodes are
       *                   visible to the iterator. If false, they will be skipped over.
       */
  
      DOM_NodeIterator createNodeIterator(DOM_Node root,
                                          unsigned long whatToShow,
                                          DOM_NodeFilter*  filter,
                                          bool entityReferenceExpansion);
       /**
       * Creates a TreeWalker object.   (DOM2)
       *
       * TreeWalker objects are used to navigate a document tree or subtree using the view of the document defined
       * by its whatToShow flags and any filters that are defined for the TreeWalker. Any function which performs
       * navigation using a TreeWalker will automatically support any view defined by a TreeWalker.
       *
       * Omitting nodes from the logical view of a subtree can result in a structure that is substantially different from
       * the same subtree in the complete, unfiltered document. Nodes that are siblings in the TreeWalker view may
       * be children of different, widely separated nodes in the original view. For instance, consider a Filter that skips
       * all nodes except for Text nodes and the root node of a document. In the logical view that results, all text
       * nodes will be siblings and appear as direct children of the root node, no matter how deeply nested the
       * structure of the original document.
       *
       * To produce a view of the document that has entity references expanded
       * and does not expose the entity reference node itself, use the whatToShow
       * flags to hide the entity reference node and set <code>expandEntityReferences</code> to
       * true when creating the TreeWalker. To produce a view of the document
       * that has entity reference nodes but no entity expansion, use the
       * <code>whatToShow</code> flags to show the entity reference node and set
       * <code>expandEntityReferences</code> to false
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param root The root node of the DOM tree
       * @param whatToShow This attribute determines which node types are presented via the tree-walker.
       * @param filter The filter used to screen nodes
       * @param entityReferenceExpansion The value of this flag determines whether the children of entity reference nodes are
       *                   visible to the tree-walker. If false, they will be skipped over.
       */
  
      DOM_TreeWalker  createTreeWalker(DOM_Node root,
                                       unsigned long whatToShow,
                                       DOM_NodeFilter*  filter,
                                       bool entityReferenceExpansion);
  
      /**
       * Creates a XMLDecl type Node .   Non-Standard (an extension to xerces)
       *
       * XMLDecl Nodes are created to get  version, encoding and standalone information in a document tree
       *
       * This node if created gets attached to a document object or an entity node. There can be no child
       * to this type of node.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param version The version data of the document. Currently possible value is 1.0
       * @param encoding The encoding type specified in the document
       * @param standalone The information whether the document is standalone or not
       */
  
      DOM_XMLDecl createXMLDecl(const DOMString& version,
                              const DOMString& encoding,
                              const DOMString& standalone);
  
      /**
  	  * To create the range  consisting of boundary-points and offset of the
        * selected contents
        *
        * @return The initial state of the Range such that both the boundary-points
        * are positioned at the beginning of the corresponding DOM_DOcument, before
        * any content. The range returned can only be used to select content
        * associated with this document, or with documentFragments and Attrs for
        * which this document is the ownerdocument
  	  */
      DOM_Range    createRange();
  
      //@}
      /** @name Getter functions */
      //@{
      /**
       * Get Document Type Declaration (see <code>DOM_DocumentType</code>) associated
       * with  this document.
       *
       * For documents without
       * a document type declaration this returns <code>null</code> reference object. The DOM Level
       *  1 does not support editing the Document Type Declaration, therefore
       * <code>docType</code> cannot be altered in any way.
       */
      DOM_DocumentType       getDoctype() const;
  
  
  
      /**
       * Return the <code>DOMImplementation</code> object that handles this document.
       */
      DOM_DOMImplementation  &getImplementation() const;
  
  
      /**
       * Return a reference to the root element of the document.
       */
      DOM_Element     getDocumentElement() const;
  
      /**
       * Returns a <code>DOM_NodeList</code> of all the elements with a
       * given tag name.  The returned node list is "live", in that changes
       * to the document tree made after a nodelist was initially
       * returned will be immediately reflected in the node list.
       *
       * The elements in the node list are ordered in the same order in which they
       * would be encountered in a
       * preorder traversal of the <code>Document</code> tree.
       * @param tagname The name of the tag to match on. The special value "*"
       *   matches all tags.
       * @return A reference to a NodeList containing all the matched
       *   <code>Element</code>s.
       */
      DOM_NodeList           getElementsByTagName(const DOMString &tagname) const;
  
      //@}
      /** @name Functions introduced in DOM Level 2. */
      //@{
  
      /**
       * Imports a node from another document to this document.
       * The returned node has no parent (<CODE>parentNode</CODE> is
       * <CODE>null</CODE>). The source node is not altered or removed from the
       * original document; this method creates a new copy of the source
       * node.<BR>For all nodes, importing a node creates a node object owned by
       * the importing document, with attribute values identical to the source
       * node's <CODE>nodeName</CODE> and <CODE>nodeType</CODE>, plus the
       * attributes related to namespaces (prefix and namespaces URI).
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param importedNode The node to import.
       * @param deep If <CODE>true</CODE>, recursively import the subtree under the
       *      specified node; if <CODE>false</CODE>, import only the node itself,
       *      as explained above. This does not apply to <CODE>DOM_Attr</CODE>,
       *      <CODE>DOM_EntityReference</CODE>, and <CODE>DOM_Notation</CODE> nodes.
       * @return The imported node that belongs to this <CODE>DOM_Document</CODE>.
       * @exception DOMException
       *   NOT_SUPPORTED_ERR: Raised if the type of node being imported is
       *                      not supported.
       */
      DOM_Node            importNode(const DOM_Node &importedNode, bool deep);
  
      /**
       * Creates an element of the given qualified name and
       * namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the element to create.
       * @param qualifiedName The <em>qualified name</em>
       *   of the element type to instantiate.
       * @return A new <code>DOM_Element</code> object.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
       *                          an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
       *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
       *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
       *      or if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and
       *      the <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/XML/1998/namespace".
       */
      DOM_Element         createElementNS(const DOMString &namespaceURI,
  	const DOMString &qualifiedName);
  
      /**
       * Creates an attribute of the given qualified name and namespace
       * URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the attribute to create.
       * @param qualifiedName The <em>qualified name</em>
       *   of the attribute to instantiate.
       * @return A new <code>DOM_Attr</code> object.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
       *                          an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
       *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
       *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
       *      if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/XML/1998/namespace", if the
       *      <CODE>qualifiedName</CODE> has a prefix that is "xmlns" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/2000/xmlns/", or if the
       *      <CODE>qualifiedName</CODE> is "xmlns" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/2000/xmlns/".
       */
      DOM_Attr            createAttributeNS(const DOMString &namespaceURI,
  	const DOMString &qualifiedName);
  
      /**
       * Returns a <code>DOM_NodeList</code> of all the <code>DOM_Element</code>s
       * with a given <em>local name</em> and
       * namespace URI in the order in which they would be encountered in a
       * preorder traversal of the <code>DOM_Document</code> tree.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the elements to match on. The special value "*" matches all
       *   namespaces.
       * @param localName The <em>local name</em> of the
       *   elements to match on. The special value "*" matches all local names.
       * @return A new <code>DOM_NodeList</code> object containing all the matched
       *  <code>DOM_Element</code>s.
       */
      DOM_NodeList        getElementsByTagNameNS(const DOMString &namespaceURI,
  	const DOMString &localName) const;
  
      /**
       * Returns the <code>DOM_Element</code> whose ID is given by <code>elementId</code>.
       * If no such element exists, returns <code>null</code>.
       * Behavior is not defined if more than one element has this <code>ID</code>.
       * <P><B>Note:</B> The DOM implementation must have information that says
       * which attributes are of type ID. Attributes with the name "ID" are not of
       * type ID unless so defined. Implementations that do not know whether
       * attributes are of type ID or not are expected to return
       * <CODE>null</CODE>.</P>
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param elementId The unique <code>id</code> value for an element.
       * @return The matching element.
       */
      DOM_Element         getElementById(const DOMString &elementId);
  
      /**
       * Sets whether the DOM implementation performs error checking
       * upon operations. Turning off error checking only affects
       * the following DOM checks:
       * <ul>
       * <li>Checking strings to make sure that all characters are
       *     legal XML characters
       * <li>Hierarchy checking such as allowed children, checks for
       *     cycles, etc.
       * </ul>
       * <p>
       * Turning off error checking does <em>not</em> turn off the
       * following checks:
       * <ul>
       * <li>Read only checks
       * <li>Checks related to DOM events
       * </ul>
       */
      void setErrorChecking(bool check);
  
      /**
       * Returns true if the DOM implementation performs error checking.
       */
      bool getErrorChecking();
  
      //@}
  
  protected:
      DOM_Document (DocumentImpl *impl);
  
      friend class DOM_Node;
      friend class DocumentImpl;
      friend class NodeIteratorImpl;
      friend class DOM_DOMImplementation;
  
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DocumentFragment.hpp
  
  Index: DOM_DocumentFragment.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOM_DocumentFragment.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   */
  
  #ifndef DOM_DocumentFragment_HEADER_GUARD_
  #define DOM_DocumentFragment_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class DocumentFragmentImpl;
  
  /**
   * <code>DocumentFragment</code> is a "lightweight" or "minimal" 
   * <code>Document</code> object. 
   *
   * It is very common to want to be able to 
   * extract a portion of a document's tree or to create a new fragment of a 
   * document. Imagine implementing a user command like cut or rearranging a 
   * document by moving fragments around. It is desirable to have an object 
   * which can hold such fragments and it is quite natural to use a Node for 
   * this purpose. While it is true that a <code>Document</code> object could 
   * fulfil this role,  a <code>Document</code> object can potentially be a 
   * heavyweight  object, depending on the underlying implementation. What is 
   * really needed for this is a very lightweight object.  
   * <code>DocumentFragment</code> is such an object.
   * <p>Furthermore, various operations -- such as inserting nodes as children 
   * of another <code>Node</code> -- may take <code>DocumentFragment</code> 
   * objects as arguments;  this results in all the child nodes of the 
   * <code>DocumentFragment</code>  being moved to the child list of this node.
   * <p>The children of a <code>DocumentFragment</code> node are zero or more 
   * nodes representing the tops of any sub-trees defining the structure of the 
   * document. <code>DocumentFragment</code> nodes do not need to be 
   * well-formed XML documents (although they do need to follow the rules 
   * imposed upon well-formed XML parsed entities, which can have multiple top 
   * nodes).  For example, a <code>DocumentFragment</code> might have only one 
   * child and that child node could be a <code>Text</code> node. Such a 
   * structure model  represents neither an HTML document nor a well-formed XML 
   * document.  
   * <p>When a <code>DocumentFragment</code> is inserted into a  
   * <code>Document</code> (or indeed any other <code>Node</code> that may take 
   * children) the children of the <code>DocumentFragment</code> and not the 
   * <code>DocumentFragment</code>  itself are inserted into the 
   * <code>Node</code>. This makes the <code>DocumentFragment</code> very 
   * useful when the user wishes to create nodes that are siblings; the 
   * <code>DocumentFragment</code> acts as the parent of these nodes so that the
   *  user can use the standard methods from the <code>Node</code>  interface, 
   * such as <code>insertBefore()</code> and  <code>appendChild()</code>.  
   */
  
  class CDOM_EXPORT DOM_DocumentFragment: public DOM_Node {
  
  public:
      /** @name Constructors and assignment operators */
      //@{
      /**
      * Default constructor for <code>DOM_DocumentFragment</code>.  The resulting object does not
      * refer to an actual Document Fragment node; it will compare == to 0, and is similar
      * to a null object reference variable in Java.  It may subsequently be
      * assigned to refer to an actual Document Fragment node.
      * <p>
      * New document fragment nodes are created by DOM_Document::createDocumentFragment().
      *
      */
  
      DOM_DocumentFragment();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_DocumentFragment</code> that refers to the
        *   same underlying node as the original.  See also DOM_Node::clone(),
        * which will copy the actual Document fragment node, rather than just creating a new
        * reference to the original node.
        *
        * @param other The object to be copied
        */
      DOM_DocumentFragment(const DOM_DocumentFragment &other);
  
      /**
        * Assignment operator
        *
        * @param other The object to be copied
        */
      DOM_DocumentFragment & operator = (const DOM_DocumentFragment &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_DocumentFragment & operator = (const DOM_NullPtr *val);
  
  	//@}
      /** @name Destructor */
      //@{
  	    
      /**
        * Destructor.  The object being destroyed is the reference
        * object, not the underlying Comment node itself.
        *
        */
      ~DOM_DocumentFragment();
  
  	//@}
  
  protected:
      DOM_DocumentFragment(DocumentFragmentImpl *);
  
      friend class DOM_Document;
      friend class RangeImpl;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_DocumentType.hpp
  
  Index: DOM_DocumentType.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_DocumentType.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/03/10 02:14:39  chchou
   * add null DOM_DocumentType constructor
   *
   * Revision 1.7  2000/03/02 19:53:55  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/17 17:47:24  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.4  2000/02/10 23:35:11  andyh
   * Update DOM_DOMImplementation::CreateDocumentType and
   * DOM_DocumentType to match latest from W3C
   *
   * Revision 1.3  2000/02/06 07:47:29  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:52  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:16  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_DocumentType_HEADER_GUARD_
  #define DOM_DocumentType_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class DOM_NamedNodeMap;
  class DocumentTypeImpl;
  
  /**
   * Each <code>Document</code> has a <code>doctype</code> whose value 
   * is either <code>null</code> or a <code>DocumentType</code> object. 
   *
   * The <code>DOM_DocumentType</code> class provides access
   *  to the list of entities and notations that are defined for the document.
   * <p>The DOM Level 1 doesn't support editing <code>DocumentType</code> nodes.
   */
  class CDOM_EXPORT DOM_DocumentType: public DOM_Node {
  
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_DocumentType.  The resulting object does not
        * refer to an actual DocumentType node; it will compare == to 0, and is similar
        * to a null object reference variable in Java.  It may subsequently be
        * assigned to refer to the actual DocumentType node.
        * <p>
        * A new DocumentType node for a document that does not already have one
        * can be created by DOM_Document::createDocumentType().     
        *
        */
      DOM_DocumentType();
  
      /**
        * Constructor for a null DOM_DocumentType.
        * This allows passing 0 directly as a null DOM_DocumentType to
        * function calls that take DOM_DocumentType as parameters.
        *
        * @param nullPointer Must be 0.
        */
      DOM_DocumentType(int nullPointer);
  
      /**
        * Copy constructor.  Creates a new <code>DOM_Comment</code> that refers to the
        * same underlying node as the original.  
        *
        *
        * @param other The object to be copied.
        */
      DOM_DocumentType(const DOM_DocumentType &other);
  
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_DocumentType & operator = (const DOM_DocumentType &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_DocumentType & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_DocumentType.  The object being destroyed is the reference
        * object, not the underlying DocumentType node itself.
  	  *
  	  */
      ~DOM_DocumentType();
      //@}
  
      /** @name Getter functions. */
      //@{
    /**
     * The name of DTD; i.e., the name immediately following the 
     * <code>DOCTYPE</code> keyword in an XML source document.
     */
    DOMString       getName() const;
  
    /**
     * This function returns a  <code>NamedNodeMap</code> containing the general entities, both 
     * external and internal, declared in the DTD. Parameter entities are not contained.
     * Duplicates are discarded. 
     * <p>
     * Note: this functionality is not implemented in the initial release
     * of the parser, and the returned NamedNodeMap will be empty.
     */
    DOM_NamedNodeMap getEntities() const;
  
  
    /**
     * This function returns a named node map containing an entry for
     * each notation declared in a document's DTD.  Duplicates are discarded.
     *
     * <p>
     * Note: this functionality is not implemented in the initial release
     * of the parser, and the returned NamedNodeMap will be empty.
     */
    DOM_NamedNodeMap getNotations() const;
    //@}
  
      /** @name Functions introduced in DOM Level 2. */
      //@{
      /**
       * Get the public identifier of the external subset.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The public identifier of the external subset.
       */
      DOMString     getPublicId() const;
  
      /**
       * Get the system identifier of the external subset.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The system identifier of the external subset.
       */
      DOMString     getSystemId() const;
  
      /**
       * Get the internal subset as a string.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The internal subset as a string.
       */
      DOMString     getInternalSubset() const;
      //@}
  
  protected:
      DOM_DocumentType(DocumentTypeImpl *);
  
      friend class DOM_Document;
      friend class DOM_DOMImplementation;
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Element.hpp
  
  Index: DOM_Element.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Element.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/05/11 13:25:20  tng
   * Copyright update.
   *
   * Revision 1.8  2001/05/03 19:17:26  knoaman
   * TraverseSchema Part II.
   *
   * Revision 1.7  2000/03/02 19:53:55  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/24 20:11:27  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/17 17:47:24  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.4  2000/02/06 07:47:29  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.2  1999/12/21 07:47:06  robweir
   * Patches to support Xalan, where we need to create a
   * "special" DOM with subclassed Nodes.
   *
   * 1. Export the NodeImpl-derived classes
   * 2. Ensure that their constructors have at least protected access
   *
   * Revision 1.1.1.1  1999/11/09 01:08:57  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:17  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Element_HEADER_GUARD_
  #define DOM_Element_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class DOM_Attr;
  class DOM_NodeList;
  class ElementImpl;
  
  /**
   * By far the vast majority of objects (apart from text) that authors
   * encounter when traversing a document are <code>DOM_Element</code> nodes.
   *
   * Assume the following XML document:&lt;elementExample id="demo"&gt;
   * &lt;subelement1/&gt;
   * &lt;subelement2&gt;&lt;subsubelement/&gt;&lt;/subelement2&gt;
   * &lt;/elementExample&gt;
   * <p>When represented using DOM, the top node is an <code>DOM_Element</code> node
   * for "elementExample", which contains two child <code>DOM_Element</code> nodes,
   * one for "subelement1" and one for "subelement2". "subelement1" contains no
   * child nodes.
   * <p>Elements may have attributes associated with them; since the
   * <code>DOM_Element</code> interface inherits from <code>DOM_Node</code>, the generic
   *  <code>DOM_Node</code> interface method <code>getAttributes</code> may be used
   * to retrieve the set of all attributes for an element.  There are methods on
   *  the <code>DOM_Element</code> interface to retrieve either an <code>DOM_Attr</code>
   *  object by name or an attribute value by name. In XML, where an attribute
   * value may contain entity references, an <code>DOM_Attr</code> object should be
   * retrieved to examine the possibly fairly complex sub-tree representing the
   * attribute value. On the other hand, in HTML, where all attributes have
   * simple string values, methods to directly access an attribute value can
   * safely be used as a convenience.
   */
  
  class CDOM_EXPORT DOM_Element: public DOM_Node {
  private:
  
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
      * Default constructor for DOM_Element.  The resulting object does not
      * refer to an actual Element node; it will compare == to 0, and is similar
      * to a null object reference variable in Java.  It may subsequently be
      * assigned to refer to an actual Element node.
      * <p>
      * New comment nodes are created by DOM_Document::createElement().
        *
        */
      DOM_Element();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_Element</code> that refers to the
        * same underlying actual element as the original.
        *
        * @param other The object to be copied
        */
      DOM_Element(const DOM_Element &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_Element & operator = (const DOM_Element &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Element & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
        * Destructor.  The object being destroyed is the reference
        * object, not the underlying Element itself.
  	  *
  	  */
      ~DOM_Element();
      //@}
      /** @name Getter functions. */
      //@{
  
    /**
     * The name of the element.
     *
     * For example, in: &lt;elementExample
     * id="demo"&gt;  ... &lt;/elementExample&gt; , <code>tagName</code> has
     * the value <code>"elementExample"</code>. Note that this is
     * case-preserving in XML, as are all of the operations of the DOM.
     */
    DOMString         getTagName() const;
  
    /**
     * Retrieves an attribute value by name.
     *
     * @param name The name of the attribute to retrieve.
     * @return The <code>DOM_Attr</code> value as a string, or the empty  string if
     *   that attribute does not have a specified or default value.
     */
    DOMString         getAttribute(const DOMString &name) const;
  
    /**
     * Retrieves an <code>DOM_Attr</code> node by name.
     *
     * @param name The name (<CODE>nodeName</CODE>) of the attribute to retrieve.
     * @return The <code>DOM_Attr</code> node with the specified name (<CODE>nodeName</CODE>) or
     *   <code>null</code> if there is no such attribute.
     */
    DOM_Attr        getAttributeNode(const DOMString &name) const;
  
    /**
     * Returns a <code>NodeList</code> of all descendant elements with a given
     * tag name, in the order in which they would be encountered in a preorder
     * traversal of the <code>DOM_Element</code> tree.
     *
     * @param name The name of the tag to match on. The special value "*"
     *   matches all tags.
     * @return A list of matching <code>DOM_Element</code> nodes.
     */
    DOM_NodeList    getElementsByTagName(const DOMString &name) const;
  
    //@}
    /** @name Set functions. */
    //@{
  
    /**
     * Adds a new attribute.
     *
     * If an attribute with that name is already present
     * in the element, its value is changed to be that of the value parameter.
     * This value is a simple string, it is not parsed as it is being set. So
     * any markup (such as syntax to be recognized as an entity reference) is
     * treated as literal text, and needs to be appropriately escaped by the
     * implementation when it is written out. In order to assign an attribute
     * value that contains entity references, the user must create an
     * <code>DOM_Attr</code> node plus any <code>Text</code> and
     * <code>EntityReference</code> nodes, build the appropriate subtree, and
     * use <code>setAttributeNode</code> to assign it as the value of an
     * attribute.
     * @param name The name of the attribute to create or alter.
     * @param value Value to set in string form.
     * @exception DOMException
     *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
     *   illegal character.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
     void             setAttribute(const DOMString &name,
                                   const DOMString &value);
     /**
      * Adds a new attribute.
      *
      * If an attribute with that name (<CODE>nodeName</CODE>) is already present
      * in the element, it is replaced by the new one.
      * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
      * @return If the <code>newAttr</code> attribute replaces an existing
      *   attribute, the replaced
      *   <code>DOM_Attr</code> node is returned, otherwise <code>null</code> is
      *   returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
      *   different document than the one that created the element.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
      *   attribute of another <code>DOM_Element</code> object. The DOM user must
      *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other
      *   elements.
      */
     DOM_Attr        setAttributeNode(DOM_Attr newAttr);
  
     //@}
     /** @name Functions which modify the Element. */
     //@{
    /**
     * Removes the specified attribute node.
     * If the removed <CODE>DOM_Attr</CODE>
     *   has a default value it is immediately replaced. The replacing attribute
     *   has the same namespace URI and local name, as well as the original prefix,
     *   when applicable.
     *
     * @param oldAttr The <code>DOM_Attr</code> node to remove from the attribute
     *   list.
     * @return The <code>DOM_Attr</code> node that was removed.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     *   <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute
     *   of the element.
     */
    DOM_Attr        removeAttributeNode(DOM_Attr oldAttr);
  
    /**
     * Removes an attribute by name.
     *
     * If the removed attribute
     *   is known to have a default value, an attribute immediately appears
     *   containing the default value as well as the corresponding namespace URI,
     *   local name, and prefix when applicable.<BR>To remove an attribute by local
     *   name and namespace URI, use the <CODE>removeAttributeNS</CODE> method.
     * @param name The name of the attribute to remove.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void              removeAttribute(const DOMString &name);
  
    //@}
    /** @name Functions introduced in DOM Level 2. */
    //@{
  
    /**
     * Retrieves an attribute value by local name and namespace URI.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to retrieve.
     * @param localName The <em>local name</em> of the
     *    attribute to retrieve.
     * @return The <code>DOM_Attr</code> value as a string, or an <CODE>null</CODE> if
     *    that attribute does not have a specified or default value.
     */
    DOMString         getAttributeNS(const DOMString &namespaceURI,
  	const DOMString &localName) const;
  
    /**
     * Adds a new attribute. If an attribute with the same
     * local name and namespace URI is already present on the element, its prefix
     * is changed to be the prefix part of the <CODE>qualifiedName</CODE>, and
     * its value is changed to be the <CODE>value</CODE> parameter. This value is
     * a simple string, it is not parsed as it is being set. So any markup (such
     * as syntax to be recognized as an entity reference) is treated as literal
     * text, and needs to be appropriately escaped by the implementation when it
     * is written out. In order to assign an attribute value that contains entity
     * references, the user must create an <CODE>DOM_Attr</CODE>
     * node plus any <CODE>DOM_Text</CODE> and <CODE>DOM_EntityReference</CODE>
     * nodes, build the appropriate subtree, and use
     * <CODE>setAttributeNodeNS</CODE> or <CODE>setAttributeNode</CODE> to assign
     * it as the value of an attribute.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to create or alter.
     * @param qualifiedName The <em>qualified name</em> of the
     *    attribute to create or alter.
     * @param value The value to set in string form.
     * @exception DOMException
     *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an
     *   illegal character.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     * <br>
     *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
     *        malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
     *        <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
     *        if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/XML/1998/namespace", if the
     *        <CODE>qualifiedName</CODE> has a prefix that is "xmlns" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/2000/xmlns/", or if the
     *        <CODE>qualifiedName</CODE> is "xmlns" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/2000/xmlns/".
     */
     void             setAttributeNS(const DOMString &namespaceURI,
  	const DOMString &qualifiedName, const DOMString &value);
  
    /**
     * Removes an attribute by local name and namespace URI. If the
     * removed attribute has a default value it is immediately replaced.
     * The replacing attribute has the same namespace URI and local name, as well as
     * the original prefix.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to remove.
     * @param localName The <em>local name</em> of the
     *    attribute to remove.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    void              removeAttributeNS(const DOMString &namespaceURI,
  	const DOMString &localName);
  
    /**
     * Retrieves an <code>DOM_Attr</code> node by local name and namespace URI.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to retrieve.
     * @param localName The <em>local name</em> of the
     *    attribute to retrieve.
     * @return The <code>DOM_Attr</code> node with the specified attribute local
     *    name and namespace URI or <code>null</code> if there is no such attribute.
     */
    DOM_Attr        getAttributeNodeNS(const DOMString &namespaceURI,
  	const DOMString &localName) const;
  
     /**
      * Adds a new attribute.
      *
      * If an attribute with that local name and namespace URI is already present
      * in the element, it is replaced by the new one.
      *
      * <p><b>"Experimental - subject to change"</b></p>
      *
      * @param newAttr The <code>DOM_Attr</code> node to add to the attribute list.
      * @return If the <code>newAttr</code> attribute replaces an existing
      *    attribute with the same <em>local name</em> and <em>namespace URI</em>,
      *    the replaced <code>DOM_Attr</code> node is
      *    returned, otherwise <code>null</code> is returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
      *   different document than the one that created the element.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
      *   attribute of another <code>DOM_Element</code> object. The DOM user must
      *   explicitly clone <code>DOM_Attr</code> nodes to re-use them in other
      *   elements.
      */
     DOM_Attr        setAttributeNodeNS(DOM_Attr newAttr);
  
    /**
     * Returns a <code>DOM_NodeList</code> of all the <code>DOM_Element</code>s
     * with a given local name and namespace URI in the order in which they
     * would be encountered in a preorder traversal of the
     * <code>DOM_Document</code> tree, starting from this node.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the elements to match on. The special value "*" matches all
     *    namespaces.
     * @param localName The <em>local name</em> of the
     *    elements to match on. The special value "*" matches all local names.
     * @return A new <code>DOM_NodeList</code> object containing all the matched
     *    <code>DOM_Element</code>s.
     */
    DOM_NodeList    getElementsByTagNameNS(const DOMString &namespaceURI,
  	const DOMString &localName) const;
  
    //@}
  
    protected:
       DOM_Element(ElementImpl *impl);
  
       friend class DOM_Document;
       friend class DOM_Attr;
       friend class TraverseSchema;
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Entity.hpp
  
  Index: DOM_Entity.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Entity.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/09/09 00:11:46  andyh
   * Virtual Destructor Patch, submitted by Kirk Wylie
   *
   * Revision 1.7  2000/04/19 02:26:16  aruna1
   * Full support for DOM_EntityReference, DOM_Entity and DOM_DocumentType introduced
   *
   * Revision 1.6  2000/03/11 02:58:38  chchou
   * Fix bug # 18, remove set method of readonly attributes
   *
   * Revision 1.5  2000/03/02 19:53:55  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:58  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:17  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Entity_HEADER_GUARD_
  #define DOM_Entity_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class EntityImpl;
  
  /**
   * This interface represents an entity, either parsed or unparsed, in an XML 
   * document. 
   *
   * Note that this models the entity itself not the entity 
   * declaration. <code>Entity</code> declaration modeling has been left for a 
   * later Level of the DOM specification.
   * <p>The <code>nodeName</code> attribute that is inherited from 
   * <code>Node</code> contains the name of the entity.
   * <p>An XML processor may choose to completely expand entities before  the 
   * structure model is passed to the DOM; in this case there will be no 
   * <code>EntityReference</code> nodes in the document tree.
   *
   * <p>Note: the first release of this parser does not create entity
   *    nodes when reading an XML document.  Entities may be
   *    programatically created using DOM_Document::createEntity().
   */
  class CDOM_EXPORT DOM_Entity: public DOM_Node {
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_Entity.
        *
        */
      DOM_Entity();
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOM_Entity(const DOM_Entity &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_Entity & operator = (const DOM_Entity &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Entity & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_Entity.
  	  *
  	  */
      ~DOM_Entity();
  
      //@}
      /** @name Get functions. */
      //@{
    /**
     * The public identifier associated with the entity, if specified. 
     *
     * If the public identifier was not specified, this is <code>null</code>.
     */
    DOMString        getPublicId() const;
  
    /**
     * The system identifier associated with the entity, if specified. 
     *
     * If the system identifier was not specified, this is <code>null</code>.
     */
    DOMString        getSystemId() const;
  
    /**
     * For unparsed entities, the name of the notation for the entity. 
     *
     * For parsed entities, this is <code>null</code>. 
     */
    DOMString        getNotationName() const;
  
    DOM_Node		getFirstChild() const;
    DOM_Node      getLastChild() const;
    DOM_NodeList  getChildNodes() const;
    bool          hasChildNodes() const;
    DOM_Node		getPreviousSibling() const;
    DOM_Node		getNextSibling() const;
    //@}
  
  protected:
      DOM_Entity(EntityImpl *impl);
  
      friend class DOM_Document;
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_EntityReference.hpp
  
  Index: DOM_EntityReference.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_EntityReference.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:53:56  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:58  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_EntityReference_HEADER_GUARD_
  #define DOM_EntityReference_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class EntityReferenceImpl;
  
  /**
   * <code>EntityReference</code> nodes will appear in the structure 
   * model when an entity reference is in the source document, or when the user 
   * wishes to insert an entity reference. 
   *
   * The expansion of the entity will appear as child nodes of the entity
   * reference node.  The expansion may be just simple text, or it may
   * be more complex, containing additional entity refs.
   *
  */
  
  class CDOM_EXPORT DOM_EntityReference: public DOM_Node {
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_EntityReference.  The resulting object does not
      * refer to an actual Entity Reference node; it will compare == to 0, and is similar
      * to a null object reference variable in Java.  It may subsequently be
      * assigned to refer to an actual entity reference node.
      * <p>
      * New entity reference nodes are created by DOM_Document::createEntityReference().
        *
        */
      DOM_EntityReference();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_EntityReference</code> that refers to the
      * same underlying node as the original.  
        *
        * @param other The object to be copied.
        */
      DOM_EntityReference(const DOM_EntityReference &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_EntityReference & operator = (const DOM_EntityReference &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_EntityReference & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_EntityReference.  The object being destroyed is the reference
        * object, not the underlying entity reference node itself.
  	  *
  	  */
      ~DOM_EntityReference();
      //@}
  
  protected:
      DOM_EntityReference(EntityReferenceImpl *impl);
  
      friend class DOM_Document;
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NamedNodeMap.hpp
  
  Index: DOM_NamedNodeMap.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_NamedNodeMap.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2000/06/07 22:49:40  andyh
   * Memory usage reduction:  DOM NamedNodeMaps for attributes are allocated
   * only for elements that actually have attributes.  By Joe Polastre.
   *
   * Revision 1.12  2000/03/11 03:19:13  chchou
   * Fix bug # 19, add const keyword to API
   *
   * Revision 1.11  2000/03/02 19:53:56  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.10  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.9  2000/02/17 17:47:24  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.8  2000/02/15 23:17:36  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.7  2000/02/10 20:20:42  abagchi
   * Added docs for assignment operators
   *
   * Revision 1.6  2000/02/10 20:19:24  abagchi
   * Added docs for equality operators
   *
   * Revision 1.5  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.4  2000/02/04 01:49:28  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.3  2000/01/22 01:38:29  andyh
   * Remove compiler warnings in DOM impl classes
   *
   * Revision 1.2  2000/01/05 01:16:07  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:59  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_NamedNodeMap_HEADER_GUARD_
  #define DOM_NamedNodeMap_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  
  #include <dom/DOM_Node.hpp>
  class NamedNodeMapImpl;
  
  /**
  *  <code>NamedNodeMap</code>s  are used to 
  * represent collections of nodes that can be accessed by name.
  *
  * Note that <code>NamedNodeMap</code> does not inherit from <code>NodeList</code>; 
  * <code>NamedNodeMap</code>s are not maintained in any particular order. 
  * Nodes contained in a <code>NamedNodeMap</code> may 
  * also be accessed by an ordinal index, but this is simply to allow 
  * convenient enumeration of the contents, and 
  * does not imply that the DOM specifies an order to these Nodes. 
  */
  class CDOM_EXPORT DOM_NamedNodeMap {
  private:
      void     *fImpl;
  	short    flagElem;
  
  	static const unsigned short NNM_ELEMENT;
  	static const unsigned short NNM_OTHER;	
      
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_NamedNodeMap.  The resulting object does not
        * refer to an actual DOM_NamedNodeMap node; it will compare == to 0, and is similar
        * to a null object reference variable in Java. NamedNopes are instantiated
        * by these methods:  DOM_Node::getAttributes, DOM_DocumentType::getEntities
        * andDOM_DocumentType::getNotations
        *
        */
      DOM_NamedNodeMap();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_NamedNodeMap</code> reference object 
        * that refers to the same underlying NamedNodeMap as the original.  
        *
        * @param other The object to be copied.
        */
      DOM_NamedNodeMap(const DOM_NamedNodeMap &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_NamedNodeMap & operator = (const DOM_NamedNodeMap &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_NamedNodeMap & operator = (const DOM_NullPtr *other);
  
      //@}
      /** @name Destructor. */
      //@{
      /**
        * Destructor for DOM_NamedNodeMap.  The object being destroyed is the reference
        * object, not the underlying NamedNodeMap itself.
        *
        * <p>Like most other DOM types in this implementation, memory management
        * of named node maps is automatic.  Instances of DOM_NamedNodeMap function
        * as references to an underlying heap based implementation object,
        * and should never be explicitly new-ed or deleted in application code, but
        * should appear only as local variables or function parameters.
  	  *
  	  */
      ~DOM_NamedNodeMap();
      
      //@}
  
      /** @Comparisons. */
      //@{
      /**
       *  Test whether this NamedNodeMap reference refers to the same underlying
       *  named node map as the other reference object.  This does not
       *  compare the contents of two different objects.
       *
       *  @param arg p The value to be compared
       *  @return Returns true if the underlying named node map is same
       */
      bool operator == (const DOM_NamedNodeMap &other) const;
  
      /**
       *  Test whether this NamedNodeMap reference refers to a different underlying
       *  named node map as the other reference object.  This does not
       *  compare the contents of two different objects.
       *
       *  @param arg p The value to be compared
       *  @return Returns true if the underlying named node map is different
       */
      bool operator != (const DOM_NamedNodeMap &other) const;
  
  
      /**
       *  Use this comparison operator to test whether a Named Node Map reference
       *  is null.
       *
       *  @param arg p The value to be compared, which must be 0 or null.
       *  @return Returns true if the named node map is null
       */
      bool operator == (const DOM_NullPtr *p) const;
  
      /**
       *  Use this comparison operator to test whether a Named Node Map reference
       *  is not null.
       *
       *  @param arg p The value to be compared, which must not be 0 or null.
       *  @return Returns true if the named node map is not null
       */
      bool operator != (const DOM_NullPtr *p) const;
  
      //@}
  
      /** @name Set functions. */
      //@{
  
      /**
      * Adds a node using its <code>nodeName</code> attribute. 
      *
      * <br>As the <code>nodeName</code> attribute is used to derive the name 
      * which the node must be stored under, multiple nodes of certain types 
      * (those that have a "special" string value) cannot be stored as the names 
      * would clash. This is seen as preferable to allowing nodes to be aliased.
      * @param arg A node to store in a named node map. The node will later be 
      *   accessible using the value of the <code>nodeName</code> attribute of 
      *   the node. If a node with that name is already present in the map, it 
      *   is replaced by the new one.
      * @return If the new <code>Node</code> replaces an existing node the
      *   replaced <code>Node</code> is returned, 
      *   otherwise <code>null</code> is returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
      *   different document than the one that created the 
      *   <code>NamedNodeMap</code>.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
      *   <code>NamedNodeMap</code> is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
      *   <code>Attr</code> that is already an attribute of another 
      *   <code>Element</code> object. The DOM user must explicitly clone 
      *   <code>Attr</code> nodes to re-use them in other elements.
      */
      DOM_Node               setNamedItem(DOM_Node arg);
  
      //@}
      /** @name Get functions. */
      //@{
  
      /**
      * Returns the <code>index</code>th item in the map. 
      *
      * If <code>index</code> 
      * is greater than or equal to the number of nodes in the map, this returns 
      * <code>null</code>.
      * @param index Index into the map.
      * @return The node at the <code>index</code>th position in the 
      *   <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid 
      *   index.
      */
      DOM_Node               item(unsigned int index) const;
  
      /**
      * Retrieves a node specified by name.
      *
      * @param name The <code>nodeName</code> of a node to retrieve.
      * @return A <code>DOM_Node</code> (of any type) with the specified <code>nodeName</code>, or 
      *   <code>null</code> if it does not identify any node in 
      *   the map. 
      */
      DOM_Node               getNamedItem(const DOMString &name) const;
  
      /**
      * The number of nodes in the map. 
      *
      * The range of valid child node indices is 
      * 0 to <code>length-1</code> inclusive. 
      */
      unsigned int           getLength() const;
  
      //@}
      /** @name Functions to change the node collection. */
      //@{
  
      /**
      * Removes a node specified by name.
      *
      * If the removed node is an 
      * <code>Attr</code> with a default value it is immediately replaced.
      * @param name The <code>nodeName</code> of a node to remove.
      * @return The node removed from the map or <code>null</code> if no node 
      *   with such a name exists.
      * @exception DOMException
      *   NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
      *   the map.
      * <br>
      *   NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
      *   is readonly.
      */
      DOM_Node               removeNamedItem(const DOMString &name);
  
      //@}
      /** @name Functions introduced in DOM Level 2. */
      //@{
  
      /**
       * Retrieves a node specified by local name and namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *    the node to retrieve.
       * @param localName The <em>local name</em> of the node to retrieve.
       * @return A <code>DOM_Node</code> (of any type) with the specified
       *    local name and namespace URI, or <code>null</code> if they do not
       *    identify any node in the map.
       */
      DOM_Node               getNamedItemNS(const DOMString &namespaceURI,
  	const DOMString &localName);
  
      /**
       * Adds a node using its <CODE>namespaceURI</CODE> and <CODE>localName</CODE>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param arg A node to store in a named node map. The node will later be 
       *       accessible using the value of the <CODE>namespaceURI</CODE> and 
       *       <CODE>localName</CODE> attribute of the node. If a node with those 
       *       namespace URI and local name is already present in the map, it is 
       *       replaced by the new one.
       * @return If the new <code>DOM_Node</code> replaces an existing node the
       *   replaced <code>DOM_Node</code> is returned, 
       *   otherwise <code>null</code> is returned.
       * @exception DOMException
       *   WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a 
       *   different document than the one that created the 
       *   <code>DOM_NamedNodeMap</code>.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
       *   <code>vNamedNodeMap</code> is readonly.
       *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an 
       *   <code>DOM_Attr</code> that is already an attribute of another 
       *   <code>DOM_Element</code> object. The DOM user must explicitly clone 
       *   <code>DOM_Attr</code> nodes to re-use them in other elements.
       */
      DOM_Node               setNamedItemNS(DOM_Node arg);
  
      /**
       * Removes a node specified by local name and namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *    the node to remove.
       * @param localName The <em>local name</em> of the
       *    node to remove. When this <code>DOM_NamedNodeMap</code> contains the
       *    attributes attached to an element, as returned by the attributes
       *    attribute of the <code>DOM_Node</code> interface, if the removed
       *    attribute is known to have a default value, an attribute
       *    immediately appears containing the default value
       *    as well as the corresponding namespace URI, local name, and prefix.
       * @return The node removed from the map if a node with such a local name
       *    and namespace URI exists.
       * @exception DOMException
       *   NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in 
       *   the map.
       * <br>
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>DOM_NamedNodeMap</code>
       *   is readonly.
       */
      DOM_Node               removeNamedItemNS(const DOMString &namespaceURI,
  	const DOMString &localName);
  
      //@}
  
   protected:
  
      DOM_NamedNodeMap(NamedNodeMapImpl *impl);
  	DOM_NamedNodeMap(NodeImpl *impl);
  
      friend class DOM_DocumentType;
      friend class DOM_Node;
  
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Node.hpp
  
  Index: DOM_Node.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOM_Node.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   */
  
  #ifndef DOM_Node_HEADER_GUARD_
  #define DOM_Node_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOMString.hpp>
  
  class DOM_NodeList;
  class DOM_NamedNodeMap;
  class DOM_Document;
  class NodeImpl;
  
  class DOM_NullPtr;  // A dummy class, with no implementation, that is
                      //  used as in overloaded functions as a way to
                      //  pass 0 or null.
  
  /**
   * The <code>Node</code> interface is the primary datatype for the entire
   * Document Object Model.
   *
   * It represents a single node in the document tree.
   * While all objects implementing the <code>Node</code> interface expose
   * methods for dealing with children, not all objects implementing the
   * <code>Node</code> interface may have children. For example,
   * <code>Text</code> nodes may not have children, and adding children to such
   * nodes results in a <code>DOMException</code> being raised.
   * <p>The attributes <code>nodeName</code>, <code>nodeValue</code>  and
   * <code>attributes</code> are  included as a mechanism to get at node
   * information without  casting down to the specific derived interface. In
   * cases where  there is no obvious mapping of these attributes for a specific
   *  <code>nodeType</code> (e.g., <code>nodeValue</code> for an Element  or
   * <code>attributes</code>  for a Comment), this returns <code>null</code>.
   * Note that the  specialized interfaces may contain additional and more
   * convenient mechanisms to get and set the relevant information.
   */
  class  CDOM_EXPORT DOM_Node {
  
      public:
      /** @name Constructors and assignment operators */
      //@{
      /**
        * Default constructor for DOM_Node.  The resulting object does not
        * refer to an actual  node; it will compare == to 0, and is similar
        * to a null object reference variable in Java.  It may subsequently be
        * assigned to refer to an actual node.  "Acutal Nodes" will always
        * be of some derived type, such as Element or Attr.
        *
        */
      DOM_Node();
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOM_Node(const DOM_Node &other);
  
      /**
        * Assignment operator.
        *
        * @param other The source to be assigned.
        */
      DOM_Node & operator = (const DOM_Node &other);
  
       /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Node & operator = (const DOM_NullPtr *val);
  
     //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_Node.  The object being destroyed is the reference
        * object, not the underlying node itself.
  	  *
  	  */
      ~DOM_Node();
  
      //@}
      /** @name Equality and Inequality operators. */
      //@{
      /**
       * The equality operator.  This compares to references to nodes, and
       * returns true if they both refer to the same underlying node.  It
       * is exactly analogous to Java's operator ==  on object reference
       * variables.  This operator can not be used to compare the values
       * of two different nodes in the document tree.
       *
       * @param other The object reference with which <code>this</code> object is compared
       * @returns True if both <code>DOM_Node</code>s refer to the same
       *  actual node, or are both null; return false otherwise.
       */
      bool operator == (const DOM_Node & other)const;
  
      /**
        *  Compare with a pointer.  Intended only to allow a convenient
        *    comparison with null.
        *
        */
      bool operator == (const DOM_NullPtr *other) const;
  
      /**
       * The inequality operator.  See operator ==.
       *
       */
      bool operator != (const DOM_Node & other) const;
  
       /**
        *  Compare with a pointer.  Intended only to allow a convenient
        *    comparison with null.
        *
        */
     bool operator != (const DOM_NullPtr * other) const;
  
  
      enum NodeType {
          ELEMENT_NODE                = 1,
          ATTRIBUTE_NODE              = 2,
          TEXT_NODE                   = 3,
          CDATA_SECTION_NODE          = 4,
          ENTITY_REFERENCE_NODE       = 5,
          ENTITY_NODE                 = 6,
          PROCESSING_INSTRUCTION_NODE = 7,
          COMMENT_NODE                = 8,
          DOCUMENT_NODE               = 9,
          DOCUMENT_TYPE_NODE          = 10,
          DOCUMENT_FRAGMENT_NODE      = 11,
          NOTATION_NODE               = 12,
          XML_DECL_NODE               = 13
      };
  
      //@}
      /** @name Get functions. */
      //@{
  
      /**
       * The name of this node, depending on its type; see the table above.
       */
      DOMString       getNodeName() const;
  
      /**
       * Gets the value of this node, depending on its type.
       *
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
       * @exception DOMException
       *   DOMSTRING_SIZE_ERR: Raised when it would return more characters than
       *   fit in a <code>DOMString</code> variable on the implementation
       *   platform.
       */
      DOMString       getNodeValue() const;
  
      /**
       * An enum value representing the type of the underlying object.
       */
      short           getNodeType() const;
  
      /**
       * Gets the parent of this node.
       *
       * All nodes, except <code>Document</code>,
       * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
       * However, if a node has just been created and not yet added to the tree,
       * or if it has been removed from the tree, a <code>null</code> DOM_Node
       * is returned.
       */
      DOM_Node        getParentNode() const;
  
      /**
       * Gets a <code>NodeList</code> that contains all children of this node.
       *
       * If there
       * are no children, this is a <code>NodeList</code> containing no nodes.
       * The content of the returned <code>NodeList</code> is "live" in the sense
       * that, for instance, changes to the children of the node object that
       * it was created from are immediately reflected in the nodes returned by
       * the <code>NodeList</code> accessors; it is not a static snapshot of the
       * content of the node. This is true for every <code>NodeList</code>,
       * including the ones returned by the <code>getElementsByTagName</code>
       * method.
       */
      DOM_NodeList    getChildNodes() const;
      /**
       * Gets the first child of this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      DOM_Node        getFirstChild() const;
  
      /**
       * Gets the last child of this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      DOM_Node        getLastChild() const;
  
      /**
       * Gets the node immediately preceding this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      DOM_Node        getPreviousSibling() const;
  
      /**
       * Gets the node immediately following this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      DOM_Node        getNextSibling() const;
  
      /**
       * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
       * is an <code>Element</code>) or <code>null</code> otherwise.
       */
      DOM_NamedNodeMap  getAttributes() const;
  
      /**
       * Gets the <code>DOM_Document</code> object associated with this node.
       *
       * This is also
       * the <code>DOM_Document</code> object used to create new nodes. When this
       * node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code>
       * which is not used with any <code>DOM_Document</code> yet, this is
       * <code>null</code>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      DOM_Document      getOwnerDocument() const;
  
      /**
        * Return the user data pointer.
        *
        * User data allows application programs
        * to attach extra data to DOM nodes, and can be set using the
        * function <code>DOM_Node::setUserData(p)</code>.
        * @return The user data pointer.
        */
      void              *getUserData() const;
  
      //@}
      /** @name Cloning function. */
      //@{
  
      /**
       * Returns a duplicate of this node.
       *
       * This function serves as a generic copy constructor for nodes.
       *
       * The duplicate node has no parent (
       * <code>parentNode</code> returns <code>null</code>.).
       * <br>Cloning an <code>Element</code> copies all attributes and their
       * values, including those generated by the  XML processor to represent
       * defaulted attributes, but this method does not copy any text it contains
       * unless it is a deep clone, since the text is contained in a child
       * <code>Text</code> node. Cloning any other type of node simply returns a
       * copy of this node.
       * @param deep If <code>true</code>, recursively clone the subtree under the
       *   specified node; if <code>false</code>, clone only the node itself (and
       *   its attributes, if it is an <code>Element</code>).
       * @return The duplicate node.
       */
      DOM_Node         cloneNode(bool deep) const;
  
      //@}
      /** @name Functions to modify the DOM Node. */
      //@{
  
      /**
       * Inserts the node <code>newChild</code> before the existing child node
       * <code>refChild</code>.
       *
       * If <code>refChild</code> is <code>null</code>,
       * insert <code>newChild</code> at the end of the list of children.
       * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
       * all of its children are inserted, in the same order, before
       * <code>refChild</code>. If the <code>newChild</code> is already in the
       * tree, it is first removed.  Note that a <code>DOM_Node</code> that
       * has never been assigned to refer to an actual node is == null.
       * @param newChild The node to insert.
       * @param refChild The reference node, i.e., the node before which the new
       *   node must be inserted.
       * @return The node being inserted.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or if
       *   the node to insert is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the node being
       *   inserted is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>refChild</code> is not a child of
       *   this node.
       */
      DOM_Node               insertBefore(const DOM_Node &newChild,
                                          const DOM_Node &refChild);
  
  
      /**
       * Replaces the child node <code>oldChild</code> with <code>newChild</code>
       * in the list of children, and returns the <code>oldChild</code> node.
       *
       * If <CODE>newChild</CODE> is a <CODE>DOM_DocumentFragment</CODE> object,
       * <CODE>oldChild</CODE> is replaced by all of the <CODE>DOM_DocumentFragment</CODE>
       * children, which are inserted in the same order.
       *
       * If the <code>newChild</code> is already in the tree, it is first removed.
       * @param newChild The new node to put in the child list.
       * @param oldChild The node being replaced in the list.
       * @return The node replaced.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or it
       *   the node to put in is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the new node is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
       *   this node.
       */
      DOM_Node       replaceChild(const DOM_Node &newChild,
                                  const DOM_Node &oldChild);
      /**
       * Removes the child node indicated by <code>oldChild</code> from the list
       * of children, and returns it.
       *
       * @param oldChild The node being removed.
       * @return The node removed.
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
       *   this node.
       */
      DOM_Node        removeChild(const DOM_Node &oldChild);
  
      /**
       * Adds the node <code>newChild</code> to the end of the list of children of
       * this node.
       *
       * If the <code>newChild</code> is already in the tree, it is
       * first removed.
       * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
       *   object, the entire contents of the document fragment are moved into
       *   the child list of this node
       * @return The node added.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or if
       *   the node to append is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the node being
       *   appended is readonly.
       */
      DOM_Node        appendChild(const DOM_Node &newChild);
  
      //@}
      /** @name Query functions. */
      //@{
  
      /**
       *  This is a convenience method to allow easy determination of whether a
       * node has any children.
       *
       * @return  <code>true</code> if the node has any children,
       *   <code>false</code> if the node has no children.
       */
      bool             hasChildNodes() const;
  
  
      /**
       * Test whether this node is null.
       *
       * This C++ class, <code>DOM_Node<code>
       * functions much like an object reference to an underlying Node, and
       * this function tests for that reference being null.  Several DOM
       * APIs, <code>Node.getNextSibling()</code> for example, can return null, and
       * this function is used to test for that condition.
       *
       * <p>Operator == provides another way to perform this null test on a
       * DOM_Node.
       */
      bool                    isNull() const;
  
      //@}
      /** @name Set functions. */
      //@{
  
  
      /**
      * Sets the value of the node.
      *
      * Any node which can have a nodeValue (@see getNodeValue) will
      * also accept requests to set it to a string. The exact response to
      * this varies from node to node -- Attribute, for example, stores
      * its values in its children and has to replace them with a new Text
      * holding the replacement value.
      *
      * For most types of Node, value is null and attempting to set it
      * will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
      * also be thrown if the node is read-only.
      */
      void              setNodeValue(const DOMString &nodeValue);
  
      /**
        * Set the user data for a node.
        *
        * User data allows application programs
        * to attach extra data to DOM nodes, and can be retrieved using the
        * function <code>DOM_Node::getUserData(p)</code>.
        * <p>
        * Deletion of the user data remains the responsibility of the
        * application program; it will not be automatically deleted when
        * the nodes themselves are reclaimed.
        *
        * <p> Because DOM_Node is not designed to be subclassed, userdata
        * provides an alternative means for extending the the information
        * kept with nodes by an application program.
        *
        * @param p The pointer to be kept with the node.
        */
      void              setUserData(void *p);
  
      //@}
      /** @name Functions introduced in DOM Level 2. */
      //@{
  
      /**
       * Puts all <CODE>DOM_Text</CODE>
       * nodes in the full depth of the sub-tree underneath this <CODE>DOM_Node</CODE>,
       * including attribute nodes, into a "normal" form where only markup (e.g.,
       * tags, comments, processing instructions, CDATA sections, and entity
       * references) separates <CODE>DOM_Text</CODE>
       * nodes, i.e., there are neither adjacent <CODE>DOM_Text</CODE>
       * nodes nor empty <CODE>DOM_Text</CODE>
       * nodes. This can be used to ensure that the DOM view of a document is the
       * same as if it were saved and re-loaded, and is useful when operations
       * (such as XPointer lookups) that depend on a particular document tree
       * structure are to be used.
       * <P><B>Note:</B> In cases where the document contains <CODE>DOM_CDATASections</CODE>,
       * the normalize operation alone may not be sufficient, since XPointers do
       * not differentiate between <CODE>DOM_Text</CODE>
       * nodes and <CODE>DOM_CDATASection</CODE>
       * nodes.</P>
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      void              normalize();
  
      /**
       * Tests whether the DOM implementation implements a specific
       * feature and that feature is supported by this node.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param feature The string of the feature to test. This is the same
       * name as what can be passed to the method <code>hasFeature</code> on
       * <code>DOM_DOMImplementation</code>.
       * @param version This is the version number of the feature to test. In
       * Level 2, version 1, this is the string "2.0". If the version is not
       * specified, supporting any version of the feature will cause the
       * method to return <code>true</code>.
       * @return Returns <code>true</code> if the specified feature is supported
       * on this node, <code>false</code> otherwise.
       */
      bool              supports(const DOMString &feature,
  	                       const DOMString &version) const;
  
      /**
       * Get the <em>namespace URI</em> of
       * this node, or <code>null</code> if it is unspecified.
       * <p>
       * This is not a computed value that is the result of a namespace lookup
       * based on an examination of the namespace declarations in scope. It is
       * merely the namespace URI given at creation time.
       * <p>
       * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and
       * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method,
       * such as <CODE>createElement</CODE> from the <CODE>DOM_Document</CODE>
       * interface, this is always <CODE>null</CODE>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      DOMString         getNamespaceURI() const;
  
      /**
       * Get the <em>namespace prefix</em>
       * of this node, or <code>null</code> if it is unspecified.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      DOMString         getPrefix() const;
  
      /**
       * Returns the local part of the <em>qualified name</em> of this node.
       * <p>
       * For nodes created with a DOM Level 1 method, such as
       * <code>createElement</code> from the <code>DOM_Document</code> interface,
       * it is null.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      DOMString         getLocalName() const;
  
      /**
       * Set the <em>namespace prefix</em> of this node.
       * <p>
       * Note that setting this attribute, when permitted, changes
       * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified
       * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE>
       * attributes of the <CODE>DOM_Element</CODE> and <CODE>DOM_Attr</CODE>
       * interfaces, when applicable.
       * <p>
       * Note also that changing the prefix of an
       * attribute, that is known to have a default value, does not make a new
       * attribute with the default value and the original prefix appear, since the
       * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param prefix The prefix of this node.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified prefix contains
       *                          an illegal character.
       * <br>
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       * <br>
       *   NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is
       *      malformed, if the <CODE>namespaceURI</CODE> of this node is
       *      <CODE>null</CODE>, if the specified prefix is "xml" and the
       *      <CODE>namespaceURI</CODE> of this node is different from
       *      "http://www.w3.org/XML/1998/namespace", if this node is an attribute
       *      and the specified prefix is "xmlns" and the
       *      <CODE>namespaceURI</CODE> of this node is different from
       *      "http://www.w3.org/2000/xmlns/", or if this node is an attribute and
       *      the <CODE>qualifiedName</CODE> of this node is "xmlns".
       */
      void              setPrefix(const DOMString &prefix);
  
      //@}
  
  protected:
      NodeImpl   *fImpl;
  
      DOM_Node(NodeImpl *);
  
      friend class DOM_Document;
      friend class DocumentImpl;
      friend class TreeWalkerImpl;
      friend class NodeIteratorImpl;
      friend class DOM_NamedNodeMap;
      friend class DOM_NodeList;
      friend class DOMParser;
      friend class DOM_Entity;
      friend class RangeImpl;
      friend class CharacterDataImpl;
  	friend class XUtil;
  
  };
  
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeFilter.hpp
  
  Index: DOM_NodeFilter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_NodeFilter.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.10  2000/10/20 22:03:04  andyh
   * DOM NodeFileter - define values for FilterAction enum to match those in the DOM spec.
   *
   * Revision 1.9  2000/05/11 00:07:38  abagchi
   * Removed tables. It was confusing doxygen
   *
   * Revision 1.8  2000/03/11 03:19:13  chchou
   * Fix bug # 19, add const keyword to API
   *
   * Revision 1.7  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/17 17:47:25  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.5  2000/02/15 23:17:37  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.4  2000/02/10 21:47:12  abagchi
   * Added API docs
   *
   * Revision 1.3  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/02/04 01:49:28  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.1.1.1  1999/11/09 01:09:00  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:19  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  // DOM_NodeFilter.h: interface for the DOM_NodeFilter class.
  //
  //////////////////////////////////////////////////////////////////////
  
  #ifndef DOM_NodeFilter_HEADER_GUARD_
  #define DOM_NodeFilter_HEADER_GUARD_
  
  #include "DOM_Node.hpp"
  
  class NodeFilterImpl;
  
  
  /**
   * Filters are objects that know how to "filter out" nodes. If a
   * <code>DOM_NodeIterator</code> or <code>DOM_TreeWalker</code> is given a
   * filter, it applies the filter before it returns the next node.
   *
   * If the filter says to accept the node, the iterator returns it; otherwise, the
   * iterator looks for the next node and pretends that the node that was rejected
   * was not there.
   *
   *  The DOM does not provide any filters. Filter is just an interface that users can
   *  implement to provide their own filters.
   *
   *  Filters do not need to know how to iterate, nor do they need to know anything
   *  about the data structure that is being iterated. This makes it very easy to write
   *  filters, since the only thing they have to know how to do is evaluate a single node.
   *  One filter may be used with a number of different kinds of iterators, encouraging
   *  code reuse.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT DOM_NodeFilter
  {
      public:
  	/** @name Enumerators for Node Filter */
          //@{
  	/*
  	  *		<table><tr><td>FILTER_ACCEPT</td>
        *            <td>Accept the node. Navigation methods defined for
        *                NodeIterator or TreeWalker will return this node.</td>
  	  *			</tr>
  	  *			<tr><td>
        *               FILTER_REJECT</td>
        *               <td>Reject the node. Navigation methods defined for
        *               NodeIterator or TreeWalker will not return this
        *               node. For TreeWalker, the children of this node will
        *               also be rejected. Iterators treat this as a synonym
        *               for FILTER_SKIP.</td>
  	  *			</tr>
  	  *			<tr><td>FILTER_SKIP</td>
        *              <td>Reject the node. Navigation methods defined for
        *                  NodeIterator or TreeWalker will not return this
        *                  node. For both NodeIterator and Treewalker, the
        *                  children of this node will still be considered.</td>
   	  *			</tr>
  	  *		</table>
        *
  	  */
          enum FilterAction {FILTER_ACCEPT = 1,
                             FILTER_REJECT = 2,
                             FILTER_SKIP   = 3};
  
          enum ShowType {
              SHOW_ALL                       = 0x0000FFFF,
              SHOW_ELEMENT                   = 0x00000001,
              SHOW_ATTRIBUTE                 = 0x00000002,
              SHOW_TEXT                      = 0x00000004,
              SHOW_CDATA_SECTION             = 0x00000008,
              SHOW_ENTITY_REFERENCE          = 0x00000010,
              SHOW_ENTITY                    = 0x00000020,
              SHOW_PROCESSING_INSTRUCTION    = 0x00000040,
              SHOW_COMMENT                   = 0x00000080,
              SHOW_DOCUMENT                  = 0x00000100,
              SHOW_DOCUMENT_TYPE             = 0x00000200,
              SHOW_DOCUMENT_FRAGMENT         = 0x00000400,
              SHOW_NOTATION                  = 0x00000800
          };
  	//@}
  
          /** @name Constructors */
          //@{
          /**
            * Default constructor for DOM_NodeFilter.
            */
          DOM_NodeFilter();
          //@}
  
          /** @name Destructor. */
          //@{
  	/**
  	  * Destructor for DOM_NodeFilter.
  	  */
          virtual ~DOM_NodeFilter();
          //@}
  
          /** @name Test function. */
          //@{
  	/**
  	  * Test whether a specified node is visible in the logical view of a DOM_TreeWalker
  	  * or DOM_NodeIterator. This function will be called by the implementation of
  	  * DOM_TreeWalker and DOM_NodeIterator; it is not intended to be called directly from user
  	  * code.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            * @param node The node to check to see if it passes the filter or not.
            * @return A constant to determine whether the node is accepted, rejected, or skipped.
  	  */
          virtual short acceptNode (const DOM_Node &node) const =0;
          //@}
  
      private:
          DOM_NodeFilter(const DOM_NodeFilter &other);
          DOM_NodeFilter & operator = (const DOM_NodeFilter &other);
          bool operator == (const DOM_NodeFilter &other) const;
          bool operator != (const DOM_NodeFilter &other) const;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeIterator.hpp
  
  Index: DOM_NodeIterator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_NodeIterator.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2000/02/17 17:47:25  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.8  2000/02/16 19:39:38  aruna1
   * API Doc++ changes in
   *
   * Revision 1.7  2000/02/15 23:17:37  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.6  2000/02/11 18:14:11  abagchi
   * Fixed doc++ bugs
   *
   * Revision 1.5  2000/02/11 03:01:04  abagchi
   * Made protected method public to compile, must be fixed later
   *
   * Revision 1.4  2000/02/10 23:38:05  abagchi
   * Added API docs
   *
   * Revision 1.3  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/02/04 01:49:28  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.3  1999/11/08 20:44:20  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:01  twl
   * Initial checkin
   *
   */
  
  #ifndef DOM_NodeIterator_HEADER_GUARD_
  #define DOM_NodeIterator_HEADER_GUARD_
  
  #include "DOM_NodeFilter.hpp"
  #include "DOM_Node.hpp"
  
  class NodeIteratorImpl;
  
  /**
   * NodeIterators are used to step through a set of nodes
   * e.g. the set of nodes in a NodeList, the document subtree governed by
   * a particular node, the results of a query, or any other set of nodes.
   * The set of nodes to be iterated is determined by the implementation
   * of the NodeIterator. DOM Level 2 specifies a single NodeIterator
   * implementation for document-order traversal of a document
   * subtree. Instances of these iterators are created by calling
   * <code>DocumentTraversal.createNodeIterator()</code>.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT DOM_NodeIterator
  {
      public:
          /** @name Constructors and assignment operator */
          //@{
          /**
            * Default constructor.
            */
          DOM_NodeIterator ();
  
          /**
            * Copy constructor.
            *
            * @param other The object to be copied.
            */
          DOM_NodeIterator(const DOM_NodeIterator &other);
  
          /**
            * Assignment operator.
            *
            * @param other The object to be copied.
            */
          DOM_NodeIterator & operator = (const DOM_NodeIterator &other);
  
          /**
            * Assignment operator.  This overloaded variant is provided for
            *   the sole purpose of setting a DOM_NodeIterator to null.
            *
            * @param val.  Only a value of 0, or null, is allowed.
            */
          DOM_NodeIterator & operator = (const DOM_NullPtr *val);
          //@}
  
          /** @name Destructor. */
          //@{
  	/**
  	  * Destructor for DOM_NodeIterator.
  	  */
          ~DOM_NodeIterator();
          //@}
  
          /** @name Equality and Inequality operators. */
          //@{
          /**
           * The equality operator.
           *
           * @param other The object reference with which <code>this</code> object is compared
           * @returns True if both <code>DOM_NodeIterator</code>s refer to the same
           *  actual node, or are both null; return false otherwise.
           */
          bool operator == (const DOM_NodeIterator & other)const;
  
          /**
            *  Compare with a pointer.  Intended only to allow a convenient
            *    comparison with null.
            */
          bool operator == (const DOM_NullPtr *other) const;
  
          /**
           * The inequality operator.  See operator ==.
           */
          bool operator != (const DOM_NodeIterator & other) const;
  
           /**
            *  Compare with a pointer.  Intended only to allow a convenient
            *    comparison with null.
            *
            */
          bool operator != (const DOM_NullPtr * other) const;
          //@}
  
          /** @name Get functions. */
          //@{
          /**
            * Return which node types are presented via the iterator.
            * The available set of constants is defined in the DOM_NodeFilter interface.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          unsigned long       getWhatToShow();
  
          /**
            * Return The filter used to screen nodes.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_NodeFilter*     getFilter();
  
          /**
            * Return the expandEntityReferences flag.
            * The value of this flag determines whether the children of entity reference
            * nodes are visible to the DOM_NodeFilter. If false, they will be skipped over.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          bool getExpandEntityReferences();
  
          /**
            * Returns the next node in the set and advances the position of the iterator
            * in the set. After a DOM_NodeIterator is created, the first call to nextNode()
            * returns the first node in the set.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            * @exception DOMException
            *   INVALID_STATE_ERR: Raised if this method is called after the
            *   <code>detach</code> method was invoked.
            */
          DOM_Node            nextNode();
  
          /**
            * Returns the previous node in the set and moves the position of the iterator
            * backwards in the set.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            * @exception DOMException
            *   INVALID_STATE_ERR: Raised if this method is called after the
            *   <code>detach</code> method was invoked.
            */
          DOM_Node            previousNode();
          //@}
  
          /** @name Detaching functions. */
          //@{
          /**
            * Detaches the iterator from the set which it iterated over, releasing any
            * computational resources and placing the iterator in the INVALID state. After
            * <code>detach</code> has been invoked, calls to <code>nextNode</code> or
            * <code>previousNode</code> will raise the exception INVALID_STATE_ERR.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
  	void				detach();
          //@}
  
      protected:
          DOM_NodeIterator (NodeIteratorImpl* impl);
  
          friend class DOM_Document;
  
      private:
          NodeIteratorImpl*                 fImpl;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_NodeList.hpp
  
  Index: DOM_NodeList.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_NodeList.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2000/04/19 02:26:16  aruna1
   * Full support for DOM_EntityReference, DOM_Entity and DOM_DocumentType introduced
   *
   * Revision 1.8  2000/03/02 19:53:56  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/10 20:38:46  abagchi
   * Added docs for equality operators
   *
   * Revision 1.5  2000/02/06 07:47:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.4  2000/02/04 01:49:27  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.3  2000/01/22 01:38:29  andyh
   * Remove compiler warnings in DOM impl classes
   *
   * Revision 1.2  2000/01/05 01:16:08  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:02  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:20  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_NodeList_HEADER_GUARD_
  #define DOM_NodeList_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class NodeListImpl;
  
  /**
   * The <code>NodeList</code> interface provides the abstraction of an ordered 
   * collection of nodes.  NodeLists are created by DOM_Document::getElementsByTagName(), 
   * DOM_Node::getChildNodes(), 
   *
   * <p>The items in the <code>NodeList</code> are accessible via an integral 
   * index, starting from 0. 
   *
   * NodeLists are "live", in that any changes to the document tree are immediately
   * reflected in any NodeLists that may have been created for that tree.
   */
  
  class  CDOM_EXPORT DOM_NodeList {
  private:
      NodeListImpl *fImpl;
  
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_NodeList.  The resulting object does not
        * refer to an actual NodeList; it will compare == to 0, and is similar
        * to a null object reference variable in Java.  It may subsequently be
        * assigned to refer to an actual NodeList.
        *
        */
      DOM_NodeList();
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOM_NodeList(const DOM_NodeList &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_NodeList & operator = (const DOM_NodeList &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_NodeList & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_NodeList.  The object being destroyed is the reference
        * object, not the underlying NodeList node itself.
  	  *
        * <p>Like most other DOM types in this implementation, memory management
        * of Node Lists is automatic.  Instances of DOM_NodeList function
        * as references to an underlying heap based implementation object,
        * and should never be explicitly new-ed or deleted in application code, but
        * should appear only as local variables or function parameters.
  	  */
      ~DOM_NodeList();
      //@}
  
      /** @name Comparison operators. */
      //@{
  
      /**
        *  Equality operator.
        *  Compares whether two node list
        *  variables refer to the same underlying node list.  It does
        *  not compare the contents of the node lists themselves.
        *
        *  @param other The value to be compared
        *  @return Returns true if node list refers to same underlying node list
        */
      bool operator == (const DOM_NodeList &other) const;
  
      /**
       *  Use this comparison operator to test whether a Node List reference
       *  is null.
       *
       *  @param nullPtr The value to be compared, which must be 0 or null.
       *  @return Returns true if node list reference is null
       */
      bool operator == (const DOM_NullPtr *nullPtr) const;
  
       /**
        *  Inequality operator.
        *  Compares whether two node list
        *  variables refer to the same underlying node list.  It does
        *  not compare the contents of the node lists themselves.
        *
        *  @param other The value to be compared
        *  @return Returns true if node list refers to a different underlying node list
        */
      bool operator != (const DOM_NodeList &other) const;
  
      /**
       *  Use this comparison operator to test whether a Node List reference
       *  is not null.
       *
       *  @param nullPtr The value to be compared, which must be 0 or null.
       *  @return Returns true if node list reference is not null
       */
      bool operator != (const DOM_NullPtr *nullPtr) const; 
      //@}
  
  
      /** @name Get functions. */
      //@{
      /**
       * Returns the <code>index</code>th item in the collection. 
       *
       * If <code>index</code> is greater than or equal to the number of nodes in 
       * the list, this returns <code>null</code>.
       *
       * @param index Index into the collection.
       * @return The node at the <code>index</code>th position in the 
       *   <code>NodeList</code>, or <code>null</code> if that is not a valid 
       *   index.
       */
      DOM_Node  item(unsigned int index) const;
  
      /**
       * Returns the number of nodes in the list. 
       *
       * The range of valid child node indices is 0 to <code>length-1</code> inclusive. 
       */
      unsigned int getLength() const;
      //@}
  
  protected:
      DOM_NodeList(NodeListImpl *impl);
  
      friend class DOM_Document;
      friend class DOM_Element;
      friend class DOM_Node;
      friend class DOM_Entity;
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Notation.hpp
  
  Index: DOM_Notation.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Notation.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/11 02:58:39  chchou
   * Fix bug # 18, remove set method of readonly attributes
   *
   * Revision 1.5  2000/03/02 19:53:57  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:31  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:08  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:03  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:21  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Notation_HEADER_GUARD_
  #define DOM_Notation_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class NotationImpl;
  
  /**
   * This interface represents a notation declared in the DTD. A notation either 
   * declares, by name, the format of an unparsed entity (see section 4.7 of 
   * the XML 1.0 specification), or is used for formal declaration of 
   * Processing Instruction targets (see section 2.6 of the XML 1.0 
   * specification). The <code>nodeName</code> attribute inherited from 
   * <code>Node</code> is set to the declared name of the notation.
   * <p>The DOM Level 1 does not support editing <code>Notation</code> nodes; 
   * they are therefore readonly.
   * <p>A <code>Notation</code> node does not have any parent.
   */
  class CDOM_EXPORT DOM_Notation: public DOM_Node {
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_Notation.  The resulting object does not
      * refer to an actual Notation node; it will compare == to 0, and is similar
      * to a null object reference variable in Java.  It may subsequently be
      * assigned to refer to an actual Notation node.
      * <p>
      * New notation nodes are created by DOM_Document::createNotation().
      *
        *
        */
      DOM_Notation();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_Notation</code> that refers to the
        * same underlying node as the original.  See also DOM_Node::clone(),
        * which will copy the actual notation node, rather than just creating a new
        * reference to the original node.
        *
        * @param other The object to be copied.
        */
      DOM_Notation(const DOM_Notation &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_Notation & operator = (const DOM_Notation &other);
  
       /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Notation & operator = (const DOM_NullPtr *val);
  
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_Notation.  The object being destroyed is the reference
        * object, not the underlying Notation node itself.
        * 
  	  */
      ~DOM_Notation();
  
      //@}
      /** @name Get functions. */
      //@{
  
      /**
       * Get the public identifier of this notation. 
       * 
       * If the  public identifier was not 
       * specified, this is <code>null</code>.
       * @return Returns the public identifier of the notation
       */
      DOMString        getPublicId() const;
      /**
       * Get the system identifier of this notation. 
       *
       * If the  system identifier was not 
       * specified, this is <code>null</code>.
       * @return Returns the system identifier of the notation
       */
      DOMString        getSystemId() const;
  
  
      //@}
  
  protected:
      DOM_Notation(NotationImpl *impl);
  
      friend class DOM_Document;
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_ProcessingInstruction.hpp
  
  Index: DOM_ProcessingInstruction.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_ProcessingInstruction.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:53:57  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:31  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/05 01:16:08  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:03  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:21  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_ProcessingInstruction_HEADER_GUARD_
  #define DOM_ProcessingInstruction_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  
  class ProcessingInstructionImpl;
  
  /**
   * The <code>ProcessingInstruction</code> interface represents a  "processing 
   * instruction", used in XML as a way to keep processor-specific information 
   * in the text of the document.
   */
  class  CDOM_EXPORT DOM_ProcessingInstruction: public DOM_Node {
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_ProcessingInstruction.  The resulting object
        *  does not refer to an actual PI node; it will compare == to 0, and is similar
        * to a null object reference variable in Java.  It may subsequently be
        * assigned to refer to an actual PI node.
        * <p>
        * New Processing Instruction nodes are created by DOM_Document::createProcessingInstruction().
        *
        *
        */
      DOM_ProcessingInstruction();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_ProcessingInstruction</code> that refers to the
        * same underlying node as the original.  See also DOM_Node::clone(),
        * which will copy the actual PI node, rather than just creating a new
        * reference to the original node.
        *
        * @param other The object to be copied.
        */
      DOM_ProcessingInstruction(const DOM_ProcessingInstruction &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_ProcessingInstruction & operator = (const DOM_ProcessingInstruction &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_ProcessingInstruction & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_processingInstruction.  The object being destroyed is the reference
        * object, not the underlying PI node itself.
  	  *
  	  */
      ~DOM_ProcessingInstruction();
  
      //@}
      /** @name Get functions. */
      //@{
      /**
       * The target of this processing instruction. 
       *
       * XML defines this as being the 
       * first token following the markup that begins the processing instruction.
       */
      DOMString        getTarget() const;
  
      /**
       * The content of this processing instruction. 
       *
       * This is from the first non 
       * white space character after the target to the character immediately 
       * preceding the <code>?&gt;</code>.
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
       */
      DOMString        getData() const;
  
      //@}
      /** @name Set functions. */
      //@{
      /**
      * Sets the content of this processing instruction. 
      *
      * This is from the first non 
      * white space character after the target to the character immediately 
      * preceding the <code>?&gt;</code>.
      * @param data The string containing the processing instruction
      */
      void             setData(const DOMString &data);
      //@}
  
  protected:
      DOM_ProcessingInstruction(ProcessingInstructionImpl *impl);
  
      friend class DOM_Document;
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Range.hpp
  
  Index: DOM_Range.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOM_Range.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   */
  
  #ifndef DOM_Range_HEADER_GUARD_
  #define DOM_Range_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_Node.hpp>
  #include <dom/DOMString.hpp>
  #include <dom/DOM_DocumentFragment.hpp>
  
  class RangeImpl;
  
  //class RangeImpl;
  
  class CDOM_EXPORT DOM_Range {
  public:
  
      enum CompareHow {
          START_TO_START  = 0,
          START_TO_END    = 1,
          END_TO_END      = 2,
          END_TO_START    = 3
      };
  
      //c'tor & d'tor
      DOM_Range();
      ~DOM_Range();
  
      
      DOM_Range & operator = (const DOM_Range &other);
      DOM_Range & operator = (const DOM_NullPtr *other);
      bool operator != (const DOM_Range & other) const;
      bool operator == (const DOM_Range & other) const;
      bool operator != (const DOM_NullPtr * other) const;
      bool operator == (const DOM_NullPtr * other) const;
  
      //getter functions
      DOM_Node getStartContainer() const;
      unsigned int getStartOffset() const;
      DOM_Node getEndContainer() const;
      unsigned int getEndOffset() const;
      bool getCollapsed() const;
      const DOM_Node getCommonAncestorContainer() const;
  
      //setter functions
      void setStart(const DOM_Node &parent, unsigned int offset);
      void setEnd(const DOM_Node &parent, unsigned int offset);
  
      void setStartBefore(const DOM_Node &refNode);
      void setStartAfter(const DOM_Node &refNode);
      void setEndBefore(const DOM_Node &refNode);
      void setEndAfter(const DOM_Node &refNode);
     
      //misc functions
      void collapse(bool toStart);
      void selectNode(const DOM_Node &node);
      void selectNodeContents(const DOM_Node &node);
  
      //Functions related to comparing range Boundrary-Points
      short compareBoundaryPoints(CompareHow how, const DOM_Range& range) const;
      void deleteContents();
      DOM_DocumentFragment extractContents();
      DOM_DocumentFragment cloneContents() const;
      void insertNode(DOM_Node& node);
      //Misc functions
      void surroundContents(DOM_Node &node);
      DOM_Range cloneRange() const;
      DOMString toString() const;
      void detach();
  
      
       
  
  protected:
  
      DOM_Range(RangeImpl *);
      RangeImpl   *fImpl;
  
      friend class DOM_Document;
  };
  
  
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_RangeException.hpp
  
  Index: DOM_RangeException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_RangeException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2000/07/28 01:33:31  aruna1
   * DOM Level 2 Range feature introduced
   *
   */
  
  #ifndef DOM_RangeException_HEADER_GUARD_
  #define DOM_RangeException_HEADER_GUARD_
  
  #include <dom/DOM_DOMException.hpp>
  
  /**
    * Encapsulate range related DOM error or warning. DOM level 2 implementation. 
    *
    * <p> The DOM will create and throw an instance of DOM_RangeException
    * when an error condition in range is detected.  Exceptions can occur
    * when an application directly manipulates the range elements in DOM document
    * tree that is produced by the parser. 
    *
    * <p>Unlike the other classes in the C++ DOM API, DOM_RangeException
    * is NOT a reference to an underlying implementation class, and
    * does not provide automatic memory management.  Code that catches
    * a DOM Range exception is responsible for deleting it, or otherwise
    * arranging for its disposal.
    *
    */
  class CDOM_EXPORT DOM_RangeException  : public DOM_DOMException {
  public:
      /** @name Enumerators for DOM Range Exceptions */
      //@{
          enum RangeExceptionCode {
                  BAD_BOUNDARYPOINTS_ERR  = 1,
                  INVALID_NODE_TYPE_ERR   = 2
          };
      //@}
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_RangeException.
        *
        */
      DOM_RangeException();
  
      /**
        * Constructor which takes an error code and a message.
        *
        * @param code The error code which indicates the exception
        * @param message The string containing the error message
        */
      DOM_RangeException(RangeExceptionCode code, const DOMString &message);
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      DOM_RangeException(const DOM_RangeException &other);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_RangeException.  Applications are responsible
        * for deleting DOM_RangeException objects that they catch after they
        * have completed their exception processing.
  	  *
  	  */
      virtual ~DOM_RangeException();
      //@}
  
      /** @name Public variables. */
       //@{
  	 /**
  	  * A code value, from the set defined by the RangeExceptionCode enum,
        * indicating the type of error that occured.
  	  */
     RangeExceptionCode   code;
  
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_Text.hpp
  
  Index: DOM_Text.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_Text.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/07/28 01:33:31  aruna1
   * DOM Level 2 Range feature introduced
   *
   * Revision 1.7  2000/03/24 01:30:50  chchou
   * Fix bug #8 to support ignorable whitespace text nodes
   *
   * Revision 1.6  2000/03/02 19:53:57  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:11:28  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/06 07:47:31  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  2000/02/04 01:49:27  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.2  2000/01/05 01:16:08  andyh
   * DOM Level 2 core, namespace support added.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:04  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:22  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_Text_HEADER_GUARD_
  #define DOM_Text_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <dom/DOM_CharacterData.hpp>
  
  class TextImpl;
  
  
  /**
   * The <code>Text</code> interface represents the textual content (termed 
   * character  data in XML) of an <code>Element</code> or <code>Attr</code>.  
   * If there is no markup inside an element's content, the text is contained 
   * in a single object implementing the <code>Text</code> interface that is 
   * the only child of the element. If there is markup, it is parsed into a 
   * list of elements and <code>Text</code> nodes that form the list of 
   * children of the element.
   * <p>When a document is first made available via the DOM, there is  only one 
   * <code>Text</code> node for each block of text. Users may create  adjacent 
   * <code>Text</code> nodes that represent the  contents of a given element 
   * without any intervening markup, but should be aware that there is no way 
   * to represent the separations between these nodes in XML, so they 
   * will not (in general) persist between DOM editing sessions. The 
   * <code>normalize()</code> method on <code>Element</code> merges any such 
   * adjacent <code>Text</code> objects into a single node for each block of 
   * text; this is  recommended before employing operations that depend on a 
   * particular document structure, such as navigation with 
   * <code>XPointers.</code> 
   */
  class CDOM_EXPORT DOM_Text: public DOM_CharacterData {
  
      public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for DOM_Text.  The resulting object does not
        * refer to an actual Text node; it will compare == to 0, and is similar
        * to a null object reference variable in Java.  It may subsequently be
        * assigned to refer to an actual comment node.
        *
        */
      DOM_Text();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_Text</code> that refers to the
        * same underlying node as the original.  See also DOM_Node::clone(),
        * which will copy the actual Text node, rather than just creating a new
        * reference to the original node.
        *
        * @param other The object to be copied.
        */
      DOM_Text(const DOM_Text &other);
  
      /**
        * Assignment operator.
        *
        * @param other The object to be copied.
        */
      DOM_Text & operator = (const DOM_Text &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_Text & operator = (const DOM_NullPtr *val);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for DOM_Text. The object being destroyed is the reference
        * object, not the underlying Comment node itself.
  	  *
  	  */
      ~DOM_Text();
  
      //@}
      /** @name Functions to modify the Text node. */
      //@{
  
      /**
       * Breaks this node into two nodes at the specified 
       * offset, keeping both in the tree as siblings. 
       *
       * This node then only 
       * contains all the content up to the <code>offset</code> point. And a new 
       * node of the same nodeType, which is inserted as the next sibling of this 
       * node, contains all the content at and after the <code>offset</code> 
       * point. When the <code>offset</code> is equal to the lenght of this node,
       * the new node has no data.
       * @param offset The offset at which to split, starting from 0.
       * @return The new <code>Text</code> node.
       * @exception DOMException
       *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 
       *   than the number of characters in <code>data</code>.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       */
      DOM_Text splitText(unsigned int offset);
  
      //@}
      /** @name Non-standard (not defined by the DOM specification) functions. */
      //@{
  
      /**
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * Return true if this node contains ignorable whitespaces only.
       * @return True if this node contains ignorable whitespaces only.
       */
      bool isIgnorableWhitespace();
  
      //@}
  
  protected:
      DOM_Text(TextImpl *);
  
      friend class DOM_Document;
      friend class RangeImpl;
  
  
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_TreeWalker.hpp
  
  Index: DOM_TreeWalker.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DOM_TreeWalker.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2000/08/08 01:00:36  aruna1
   * detach functionality removed from TreeWalker
   *
   * Revision 1.8  2000/02/24 20:11:29  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.7  2000/02/17 17:47:25  andyh
   * Update Doc++ API comments
   * NameSpace update to track W3C
   * Changes were made by Chih Hsiang Chou
   *
   * Revision 1.6  2000/02/15 23:17:37  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.5  2000/02/11 03:01:04  abagchi
   * Made protected method public to compile, must be fixed later
   *
   * Revision 1.4  2000/02/11 01:05:11  abagchi
   * Added API docs
   *
   * Revision 1.3  2000/02/06 07:47:31  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/02/04 01:49:27  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.1.1.1  1999/11/09 01:09:05  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:22  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef DOM_TreeWalker_HEADER_GUARD_
  #define DOM_TreeWalker_HEADER_GUARD_
  
  #include "DOM_Node.hpp"
  #include "DOM_NodeFilter.hpp"
  
  class TreeWalkerImpl;
  
  
  /**
   * <code>DOM_TreeWalker</code> objects are used to navigate a document tree or
   * subtree using the view of the document defined by its <code>whatToShow</code>
   * flags and any filters that are defined for the <code>DOM_TreeWalker</code>. Any
   * function which performs navigation using a <code>DOM_TreeWalker</code> will
   * automatically support any view defined by a <code>DOM_TreeWalker</code>.
   *
   * Omitting nodes from the logical view of a subtree can result in a structure that is
   * substantially different from the same subtree in the complete, unfiltered document. Nodes
   * that are siblings in the DOM_TreeWalker view may be children of different, widely separated
   * nodes in the original view. For instance, consider a Filter that skips all nodes except for
   * Text nodes and the root node of a document. In the logical view that results, all text
   * nodes will be siblings and appear as direct children of the root node, no matter how
   * deeply nested the structure of the original document.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT DOM_TreeWalker {
      public:
          /** @name Constructors and assignment operator */
          //@{
          /**
            * Default constructor.
            */
          DOM_TreeWalker();
  
          /**
            * Copy constructor.
            *
            * @param other The object to be copied.
            */
          DOM_TreeWalker(const DOM_TreeWalker &other);
  
          /**
            * Assignment operator.
            *
            * @param other The object to be copied.
            */
          DOM_TreeWalker & operator = (const DOM_TreeWalker &other);
  
          /**
            * Assignment operator.  This overloaded variant is provided for
            *   the sole purpose of setting a DOM_NodeIterator to null.
            *
            * @param val.  Only a value of 0, or null, is allowed.
            */
          DOM_TreeWalker & operator = (const DOM_NullPtr *val);
          //@}
  
          /** @name Destructor. */
          //@{
  	/**
  	  * Destructor for DOM_TreeWalker.
  	  */
          ~DOM_TreeWalker();
          //@}
  
          /** @name Equality and Inequality operators. */
          //@{
          /**
           * The equality operator.
           *
           * @param other The object reference with which <code>this</code> object is compared
           * @returns True if both <code>DOM_TreeWalker</code>s refer to the same
           *  actual node, or are both null; return false otherwise.
           */
          bool operator == (const DOM_TreeWalker & other)const;
  
          /**
            *  Compare with a pointer.  Intended only to allow a convenient
            *    comparison with null.
            */
          bool operator == (const DOM_NullPtr *other) const;
  
          /**
           * The inequality operator.  See operator ==.
           */
          bool operator != (const DOM_TreeWalker & other) const;
  
           /**
            *  Compare with a pointer.  Intended only to allow a convenient
            *    comparison with null.
            *
            */
          bool operator != (const DOM_NullPtr * other) const;
          //@}
  
          /** @name Get functions. */
          //@{
          /**
            * Return which node types are presented via the DOM_TreeWalker.
            * These constants are defined in the DOM_NodeFilter interface.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          unsigned long   	getWhatToShow();
  
          /**
            * Return The filter used to screen nodes.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_NodeFilter*		getFilter();
  
          /**
            * Return the expandEntityReferences flag.
            * The value of this flag determines whether the children of entity reference
            * nodes are visible to the DOM_TreeWalker. If false, they will be skipped over.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          bool getExpandEntityReferences();
  
          /**
            * Return the node at which the DOM_TreeWalker is currently positioned.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		getCurrentNode();
  
          /**
            * Moves to and returns the closest visible ancestor node of the current node.
            * If the search for parentNode attempts to step upward from the DOM_TreeWalker's root
            * node, or if it fails to find a visible ancestor node, this method retains the
            * current position and returns null.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		parentNode();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the first child of the current node,
            * and returns the new node. If the current node has no children, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		firstChild();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the last child of the current node, and
            * returns the new node. If the current node has no children, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		lastChild();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the previous sibling of the current
            * node, and returns the new node. If the current node has no previous sibling,
            * returns <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		previousSibling();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the next sibling of the current node,
            * and returns the new node. If the current node has no next sibling, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		nextSibling();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the previous visible node in document
            * order relative to the current node, and returns the new node. If the current
            * node has no previous node, 
            * or if the search for previousNode attempts to step upward from the DOM_TreeWalker's
            * root node, returns <code>null</code>, and retains the current node. 
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		previousNode();
  
          /**
            * Moves the <code>DOM_TreeWalker</code> to the next visible node in document order
            * relative to the current node, and returns the new node. If the current node has
            * no next node, 
            * or if the search for nextNode attempts to step upward from the DOM_TreeWalker's
            * root node, returns <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          DOM_Node		nextNode();
          //@}
  
          /** @name Set functions. */
          //@{
          /**
            * Set the node at which the DOM_TreeWalker is currently positioned.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          void			setCurrentNode(DOM_Node currentNode);
          //@}
  
          
      protected:
          DOM_TreeWalker(TreeWalkerImpl* impl);
  
          friend class DOM_Document;
  
      private:
          TreeWalkerImpl*         fImpl;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DOM_XMLDecl.hpp
  
  Index: DOM_XMLDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOM_XMLDecl.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   *
  */
  
  #ifndef DOM_XMLDecl_HEADER_GUARD_
  #define DOM_XMLDecl_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include "dom/DOM_Node.hpp"
  
  class XMLDeclImpl;
  /**
  * Class to refer to XML Declaration nodes in the DOM.
  *
  */
  class CDOM_EXPORT DOM_XMLDecl: public DOM_Node {
  
  public:
      /** @name Constructors and assignment operators */
      //@{
      /**
       * The default constructor for DOM_XMLDecl creates a null
       * DOM_XMLDecl object that refers to a declaration node with 
       * version= 1.0, encoding=utf-8 and standalone=no
       *
       */
      DOM_XMLDecl();
  
      /**
        * Copy constructor.  Creates a new <code>DOM_XMLDecl</code> that refers to the
        * same underlying actual xmlDecl node as the original.
        *
        * @param other The object to be copied
        */
      DOM_XMLDecl(const DOM_XMLDecl &other);
      /**
        * Assignment operator
        *
        * @param other The object to be copied
        */
      DOM_XMLDecl & operator = (const DOM_XMLDecl &other);
  
      /**
        * Assignment operator.  This overloaded variant is provided for
        *   the sole purpose of setting a DOM_Node reference variable to
        *   zero.  Nulling out a reference variable in this way will decrement
        *   the reference count on the underlying Node object that the variable
        *   formerly referenced.  This effect is normally obtained when reference
        *   variable goes out of scope, but zeroing them can be useful for
        *   global instances, or for local instances that will remain in scope
        *   for an extended time,  when the storage belonging to the underlying
        *   node needs to be reclaimed.
        *
        * @param val.  Only a value of 0, or null, is allowed.
        */
      DOM_XMLDecl & operator = (const DOM_NullPtr *val);
  
  
  
  	//@}
    /** @name Destructor */
    //@{
  	
    /**
      * Destructor.  The object being destroyed is the reference
      * object, not the underlying Document itself.
      *
      * <p>The reference counting memory management will
      *  delete the underlying document itself if this
      * DOM_XMLDecl is the last remaining to refer to the Document,
      * and if there are no remaining references to any of the nodes
      * within the document tree.  If other live references do remain,
      * the underlying document itself remains also.
      *
      */
      ~DOM_XMLDecl();
  
    //@}
  
      //@{
    
    /**
      * To get the version string of the xmlDeclaration statement
      */
      DOMString getVersion() const;
    
    /**
      * To get the encoding string of the xmlDeclaration statement
      */
      DOMString getEncoding() const;
    
    /**
      * To get the standalone string of the xmlDeclaration statement
      */
      DOMString getStandalone() const;
  
     //@}
      
  protected:
      DOM_XMLDecl( XMLDeclImpl *impl);
  
      friend class DOM_Document;
  
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/DomMemDebug.hpp
  
  Index: DomMemDebug.hpp
  ===================================================================
  #ifndef DomMemDebug_HEADER_GUARD_
  #define DomMemDebug_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DomMemDebug.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:00  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:11:29  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:32  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:47  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:25  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #include <util/XercesDefs.hpp>
  
  //
  // This class aids in debugging memory management problems with the
  //  reference counted DOM classes - DOMStrings, Nodes (including subclasses),
  //  and NamedNodeMaps.
  //
  // Usage Example:
  //      DomMemDebug  initialState;   // Captures allocation totals
  //          ...                     //    Test code performs DOM
  //          ...                     //    operations here.
  //
  //      DomMemDebug  exitState;     //   Captures post-test state.
  //      ExitState.printDifference(initialState);  // Display leaks.
  //
  class CDOM_EXPORT DomMemDebug
  {
  public:
      int         liveStringHandles;
      int         totalStringHandles;
      int         liveStringBuffers;
      int         totalStringBuffers;
      int         liveNodeImpls;
      int         totalNodeImpls;
      int         liveNamedNodeMaps;
      int         totalNamedNodeMaps;
  
  public:
      DomMemDebug();
      ~DomMemDebug();
  
      void        print();
      void        printDifference(const DomMemDebug &other);
      bool        operator == (const DomMemDebug &other);
      bool        operator != (const DomMemDebug &other);
      void        operator =  (const DomMemDebug &other);
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/MemDebug.hpp
  
  Index: MemDebug.hpp
  ===================================================================
  #ifndef MemDebug_HEADER_GUARD_
  #define MemDebug_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MemDebug.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:11:30  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:33  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:11  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:28  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  class DomMemDebug
  {
  public:
      int         liveStringHandles;
      int         totalStringHandles;
      int         liveStringBuffers;
      int         totalStringBuffers;
      int         liveNodeImpls;
      int         totalNodeImpls;
      int         liveNamedNodeMaps;
      int         totalNamedNodeMaps;
  
  public:
      DOMMemDebug();
      ~DOMMemDebug();
  
      void        print();
      void        printDifference(const DOMMemDebug &other);
      bool        operator == (const DOMMemDebug &other);
      bool        operator != (const DOMMemDebug &other);
      bool        operator =  (const DOMMemDebug &other);
  };
  
  #endif // MemDebug_HEADER_GUARD_
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/NameNodeFilter.hpp
  
  Index: NameNodeFilter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: NameNodeFilter.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/02/24 20:11:30  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 23:17:37  andyh
   * Update Doc++ API comments
   * NameSpace bugfix and update to track W3C
   * Chih Hsiang Chou
   *
   * Revision 1.2  2000/02/06 07:47:33  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:09:12  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:28  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  // DOM_NameNodeFilter.h: interface for the DOM_NameNodeFilter class.
  //
  //////////////////////////////////////////////////////////////////////
  
  #ifndef DOM_NameNodeFilter_HEADER_GUARD_
  #define DOM_NameNodeFilter_HEADER_GUARD_
  
  
  #include "DOM_NodeFilter.hpp"
  #include "NodeFilterImpl.hpp"
  #include "DOMString.hpp"
  #include "DOM_Node.hpp"
  
  
  class CDOM_EXPORT NameNodeFilter : public NodeFilterImpl
  {
  	public:
  		NameNodeFilter();
  		virtual ~NameNodeFilter();
  
      // The name to compare with the node name. If null, all node names
      //  are successfully matched.
      void setName(DOMString name);
  
      // Return the name to compare with node name.
      DOMString getName();
  
      // If match is true, the node name is accepted when it matches.
      //  If match is false, the node name is accepted when does not match.
      void setMatch(bool match) ;
  
      // Return match value.
      bool getMatch();
  
      virtual DOM_NodeFilter::FilterAction acceptNode(DOM_Node n);
  
  	private:
      DOMString fName;
      bool fMatch;
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/NodeIDMap.hpp
  
  Index: NodeIDMap.hpp
  ===================================================================
  #ifndef NodeIDMap_HEADER_GUARD_
  #define NodeIDMap_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  
  
  
  //
  //  Class NodeIDMap is a hash table that is used in the implementation of
  //   of DOM_Document::getElementsByID().
  //
  //  Why Yet Another HashTable implementation?  Becuase it can be significantly
  //  smaller when tuned for this exact usage, and the generic RefHashTableOf
  //  from the xerces utils project is not a paricularly good fit.
  //
  class AttrImpl;
  class DOMString;
  
  
  class NodeIDMap {
  public:
  
      NodeIDMap(int initialSize);    // Create a new hash table, sized to hold "initialSize"
                                     //  Entries.  It will automatically grow if need be.
  
      virtual ~NodeIDMap();
  
  private:
      NodeIDMap(const NodeIDMap &other);   // No copy, assignement, comparison.
      NodeIDMap &operator = (const NodeIDMap &other);
      bool operator == (const NodeIDMap &other);
  
  public:
      void  add(AttrImpl *attr);       // Add the specified attribute to the table.
      void  remove(AttrImpl *other);   // Remove the specified attribute.
                                             //   Does nothing if the node is not in the table.
      AttrImpl *find(const DOMString &ID);   // Find the attribute node in the table with this ID
  
  private:
      void growTable();
  
  private:
      AttrImpl      **fTable;
      unsigned int  fSizeIndex;              // Index of the current table size in the
                                             //   array of possible table sizes.  
  	unsigned int  fSize;                   // The current size of the table array
                                             //   (number of slots, not bytes.)
      unsigned int  fNumEntries;             // The number of entries used.
      unsigned int  fMaxEntries;             // The max number of entries to use before
                                             //   growing the table.
  
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/NodeVector.hpp
  
  Index: NodeVector.hpp
  ===================================================================
  #ifndef NodeVector_HEADER_GUARD_
  #define NodeVector_HEADER_GUARD_
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: NodeVector.hpp,v $
   * Revision 1.1  2002/03/22 00:41:50  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:54:04  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:11:30  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:34  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/02/04 01:49:25  aruna1
   * TreeWalker and NodeIterator changes
   *
   * Revision 1.1.1.1  1999/11/09 01:09:17  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:31  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  
  #include <util/XercesDefs.hpp>
  class NodeImpl;
  
  
  class  NodeVector {
  private:
      NodeImpl        **data;
      unsigned int    allocatedSize;
      unsigned int    nextFreeSlot;
      void            init(unsigned int size);
      void            checkSpace();
      
  public:
      NodeVector();
      NodeVector(unsigned int size);
      ~NodeVector();
      
      unsigned int    size();
      NodeImpl        *elementAt(unsigned int index);
      NodeImpl        *lastElement();
      void            addElement(NodeImpl *);
      void            insertElementAt(NodeImpl *, unsigned int index);
      void            setElementAt(NodeImpl *val, unsigned int index);
      void            removeElementAt(unsigned int index);
      void            reset();
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/dom/ParentNode.hpp
  
  Index: ParentNode.hpp
  ===================================================================
  #ifndef ParentNode_HEADER_GUARD_
  #define ParentNode_HEADER_GUARD_
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  /*
   * $Id: ParentNode.hpp,v 1.1 2002/03/22 00:41:50 sanjiva Exp $
   */
  
  /**
   * ParentNode inherits from ChildImpl and adds the capability of having child
   * nodes. Not every node in the DOM can have children, so only nodes that can
   * should inherit from this class and pay the price for it.
   * <P>
   * ParentNode, just like NodeImpl, also implements NodeList, so it can
   * return itself in response to the getChildNodes() query. This eliminiates
   * the need for a separate ChildNodeList object. Note that this is an
   * IMPLEMENTATION DETAIL; applications should _never_ assume that
   * this identity exists.
   * <P>
   * While we have a direct reference to the first child, the last child is
   * stored as the previous sibling of the first child. First child nodes are
   * marked as being so, and getNextSibling hides this fact.
   * <P>Note: Not all parent nodes actually need to also be a child. At some
   * point we used to have ParentNode inheriting from NodeImpl and another class
   * called ChildAndParentNode that inherited from ChildNode. But due to the lack
   * of multiple inheritance a lot of code had to be duplicated which led to a
   * maintenance nightmare. At the same time only a few nodes (Document,
   * DocumentFragment, Entity, and Attribute) cannot be a child so the gain is
   * memory wasn't really worth it. The only type for which this would be the
   * case is Attribute, but we deal with there in another special way, so this is
   * not applicable.
   *
   * <p><b>WARNING</b>: Some of the code here is partially duplicated in
   * AttrImpl, be careful to keep these two classes in sync!
   *
   **/
  
  #include <util/XercesDefs.hpp>
  #include "ChildNode.hpp"
  
  class CDOM_EXPORT ParentNode: public ChildNode {
  public:
      DocumentImpl            *ownerDocument; // Document this node belongs to
  
      ChildNode                *firstChild;
  
  public:
      ParentNode(DocumentImpl *ownerDocument);
      ParentNode(const ParentNode &other);
  
      virtual DocumentImpl * getOwnerDocument();
      virtual void setOwnerDocument(DocumentImpl *doc);
  
      virtual NodeListImpl *getChildNodes();
      virtual NodeImpl * getFirstChild();
      virtual NodeImpl * getLastChild();
      virtual unsigned int getLength();
      virtual bool        hasChildNodes();
      virtual NodeImpl    *insertBefore(NodeImpl *newChild, NodeImpl *refChild);
      virtual NodeImpl    *item(unsigned int index);
      virtual NodeImpl    * removeChild(NodeImpl *oldChild);
      virtual NodeImpl    *replaceChild(NodeImpl *newChild, NodeImpl *oldChild);
      virtual void        setReadOnly(bool isReadOnly, bool deep);
  
      //Introduced in DOM Level 2
      virtual void	normalize();
  
      // NON-DOM
      // unlike getOwnerDocument this never returns null, even for Document nodes
      virtual DocumentImpl * getDocument();
  protected:
      void cloneChildren(const NodeImpl &other);
      ChildNode * lastChild();
      void lastChild(ChildNode *);
  
      /** Cached node list length. */
      int fCachedLength;
  
      /** Last requested child. */
      ChildNode * fCachedChild;
  
      /** Last requested child index. */
      int fCachedChildIndex;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/LocalFileInputSource.hpp
  
  Index: LocalFileInputSource.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: LocalFileInputSource.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/10/13 04:21:53  jasons
   * This patch resolves bug #2409: undocumented XMLException in LocalFileInputSource::new()
   *
   * Revision 1.6  2000/12/14 18:49:53  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.5  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/15 23:59:06  roddey
   * More updated documentation of Framework classes.
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1  2000/01/12 18:58:06  roddey
   * Putting this back with the correct lower case extension.
   *
   * Revision 1.1  2000/01/12 00:13:26  roddey
   * These were moved from internal/ to framework/, which was something that should have
   * happened long ago. They are really framework type of classes.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:10  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:43  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(LOCALFILEINPUTSOURCE_HPP)
  #define LOCALFILEINPUTSOURCE_HPP
  
  #include <sax/InputSource.hpp>
  
  class BinInputStream;
  
  /**
   *  This class is a derivative of the standard InputSource class. It provides
   *  for the parser access to data which is referenced via a local file path,
   *  as apposed to remote file or URL. This is the most efficacious mechanism
   *  by which local files can be parsed, since the parse knows that it refers
   *  to a local file and will make no other attempts to interpret the passed
   *  path.
   *
   *  The path provided can either be a fully qualified path or a relative path.
   *  If relative, it will be completed either relative to a passed base path
   *  or relative to the current working directory of the process.
   *
   *  As with all InputSource derivatives. The primary objective of an input
   *  source is to create an input stream via which the parser can spool in
   *  data from the referenced source.
   */
  class XMLPARSER_EXPORT LocalFileInputSource : public InputSource
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors */
      //@{
  
      /**
        * A local file input source requires a path to the file to load. This
        * can be provided either as a fully qualified path, a path relative to
        * the current working directly, or a path relative to a provided base
        * path.
        *
        * The completed path will become the system id of this input source.
        * The constructors don't take any public id for local files, but you
        * still set them via the parent class' setPublicId() method of course.
        *
        * This constructor takes an explicit base path and a possibly relative
        * path. If the relative path is seen to be fully qualified, it is used
        * as is. Otherwise, it is made relative to the passed base path.
        *
        * @param  basePath    The base path from which the passed relative path
        *                     will be based, if the relative part is indeed
        *                     relative.
        *
        * @param  relativePath    The relative part of the path. It can actually
        *                         be fully qualified, in which case it is taken
        *                         as is.
        * @exception XMLException If the path is relative and doesn't properly
        *            resolve to a file.
        */
      LocalFileInputSource
      (
          const   XMLCh* const    basePath
          , const XMLCh* const    relativePath
      );
  
      /**
        * This constructor takes a single parameter which is the fully qualified
        * or relative path. If it is fully qualified, it is taken as is. If it is
        * relative, then it is completed relative to the current working directory
        * (or the equivalent on the local host machine.)
        *
        * The completed path will become the system id of this input source.
        * The constructors don't take any public id for local files, but you
        * still set them via the parent class' setPublicId() method of course.
        *
        * @param  filePath    The relative or fully qualified path.
        *
        * @exception XMLException If the path is relative and doesn't properly
        *            resolve to a file.
        */
      LocalFileInputSource
      (
          const   XMLCh* const    filePath
      );
      //@}
  
      /** @name Destructor */
      //@{
      ~LocalFileInputSource();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Virtual input source interface
      // -----------------------------------------------------------------------
  
      /** @name Virtual methods */
      //@{
  
      /**
      * This method will return a binary input stream derivative that will
      * parse from the local file indicatedby the system id.
      *
      * @return A dynamically allocated binary input stream derivative that
      *         can parse from the file indicated by the system id.
      */
      virtual BinInputStream* makeStream() const;
  
      //@}
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/MemBufInputSource.hpp
  
  Index: MemBufInputSource.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MemBufInputSource.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/12/14 18:49:54  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.5  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/15 23:59:06  roddey
   * More updated documentation of Framework classes.
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1  2000/01/12 00:13:26  roddey
   * These were moved from internal/ to framework/, which was something that should have
   * happened long ago. They are really framework type of classes.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:10  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:43  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(MEMBUFINPUTSOURCE_HPP)
  #define MEMBUFINPUTSOURCE_HPP
  
  #include <sax/InputSource.hpp>
  
  class BinInputStream;
  
  
  /**
   *  This class is a derivative of the standard InputSource class. It provides
   *  for the parser access to data stored in a memory buffer. The type of
   *  buffer and its host specific attributes are of little concern here. The
   *  only real requirement is that the memory be readable by the current
   *  process.
   *
   *  Note that the memory buffer size is expressed in <b>bytes</b>, not in
   *  characters. If you pass it text data, you must account for the bytes
   *  per character when indicating the buffer size.
   *
   *  As with all InputSource derivatives. The primary objective of an input
   *  source is to create an input stream via which the parser can spool in
   *  data from the referenced source. In this case, there are two options
   *  available.
   *
   *  The passed buffer can be adopted or merely referenced. If it is adopted,
   *  then it must be dynamically allocated and will be destroyed when the
   *  input source is destroyed (no reference counting!.) If not adopted, the
   *  caller must insure that it remains valid until the input source object
   *  is destroyed.
   *
   *  The other option indicates whether each stream created for this input
   *  source should get its own copy of the data, or whether it should just
   *  stream the data directly from this object's copy of the data. The same
   *  rules apply here, in that the buffer must either be copied by the
   *  stream or it must remain valid until the stream is destroyed.
   */
  class XMLPARSER_EXPORT MemBufInputSource : public InputSource
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors */
      //@{
  
      /**
        * A memory buffer input source is constructed from a buffer of byte
        * data, and the count of bytes in that buffer. The parser will parse
        * from this memory buffer until it has eaten the indicated number of
        * bytes.
        *
        * Note that the system id provided serves two purposes. Firstly it is
        * going to be displayed in error messages as the source of the error.
        * And secondly, any entities which are refered to from this entity
        * via relative paths/URLs will be relative to this fake system id.
        *
        * @param  srcDocBytes     The actual data buffer to be parsed from.
        * @param  byteCount       The count of bytes (not characters, bytes!)
        *                         in the buffer.
        * @Param  bufId           A fake system id for the buffer.
        * @Param  adoptBuffer     Indicates whether this object should adopt
        *                         the buffer (i.e. make a copy of it) or just
        *                         use it in place.
        */
      MemBufInputSource
      (
          const   XMLByte* const  srcDocBytes
          , const unsigned int    byteCount
          , const XMLCh* const    bufId
          , const bool            adoptBuffer = false
      );
  
      /**
        * This constructor is identical to the previous one, except that it takes
        * the fake system id in local code page form and transcodes it internally.
        */
      MemBufInputSource
      (
          const   XMLByte* const  srcDocBytes
          , const unsigned int    byteCount
          , const char* const     bufId
          , const bool            adoptBuffer = false
      );
      //@}
  
      /** @name Destructor */
      //@{
      /**
        * If the buffer was adopted, the copy made during construction is deleted
        * at this point.
        */
      ~MemBufInputSource();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Virtual input source interface
      // -----------------------------------------------------------------------
  
      /** @name Virtual methods */
      //@{
  
      /**
        * This method will return a binary input stream derivative that will
        * parse from the memory buffer. If setCopyBufToStream() has been set,
        * then the stream will make its own copy. Otherwise, it will use the
        * buffer as is (in which case it must remain valid until the stream
        * is no longer in use, i.e. the parse completes.)
        *
        * @return A dynamically allocated binary input stream derivative that
        *         can parse from the memory buffer.
        */
      BinInputStream* makeStream() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
  
      //@{
  
      /**
        * By default, for safety's sake, each newly created stream from this
        * input source will make its own copy of the buffer to stream from. This
        * avoids having to deal with aliasing of the buffer for simple work. But,
        * for higher performance applications or for large buffers, this is
        * obviously not optimal.
        *
        * In such cases, you can call this method to turn off that default
        * action. Once turned off, the streams will just get a pointer to the
        * buffer and parse directly from that. In this case, you must insure that
        * the buffer remains valid for as long as any parse events are still
        * using it.
        *
        * @param  newState    The new boolean flag state to set.
        */
      void setCopyBufToStream(const bool newState);
  
      //@}
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAdopted
      //      Indicates whether the buffer is adopted or not. If so, then it
      //      is destroyed when the input source is destroyed.
      //
      //  fByteCount
      //      The size of the source document.
      //
      //  fCopyBufToStream
      //      This defaults to true (the safe option), which causes it to
      //      give a copy of the buffer to any streams it creates. If you set
      //      it to false, it will allow the streams to just reference the
      //      buffer (in which case this input source must stay alive as long
      //      as the buffer is in use by the stream.)
      //
      //  fSrcBytes
      //      The source memory buffer that is being spooled from. Whether it
      //      belongs to the this input source or not is controlled by the
      //      fAdopted flag.
      // -----------------------------------------------------------------------
      bool            fAdopted;
      unsigned int    fByteCount;
      bool            fCopyBufToStream;
      const XMLByte*  fSrcBytes;
  };
  
  
  inline void MemBufInputSource::setCopyBufToStream(const bool newState)
  {
      fCopyBufToStream = newState;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/StdInInputSource.hpp
  
  Index: StdInInputSource.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: StdInInputSource.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/12/14 18:49:55  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.5  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/15 23:59:06  roddey
   * More updated documentation of Framework classes.
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1  2000/01/12 00:13:26  roddey
   * These were moved from internal/ to framework/, which was something that should have
   * happened long ago. They are really framework type of classes.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:17  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:44  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(STDININPUTSOURCE_HPP)
  #define STDININPUTSOURCE_HPP
  
  #include <sax/InputSource.hpp>
  
  class BinInputStream;
  
  
  /**
   *  This class is a derivative of the standard InputSource class. It provides
   *  for the parser access to data via the standard input. This input source
   *  is not commonly used, but can be useful when implementing such things
   *  as pipe based tools which exchange XML data.
   *
   *  As with all InputSource derivatives. The primary objective of an input
   *  source is to create an input stream via which the parser can spool in
   *  data from the referenced source.
   */
  class XMLPARSER_EXPORT StdInInputSource : public InputSource
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructor */
      //@{
  
      /**
        * Since the standard input is a canned source, the constructor is very
        * simple. It just uses local platform services to open up the standard
        * input source as file, a new handleof which it gives to each new stream
        * it creates.
        */
      StdInInputSource();
      //@}
  
      /** @name Destructor */
      //@{
      ~StdInInputSource();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Virtual input source interface
      // -----------------------------------------------------------------------
  
  
      /** @name Virtual methods */
      //@{
  
      /**
       * This method will return a binary input stream derivative that will
       * parse from the standard input of the local host.
       *
       * @return A dynamically allocated binary input stream derivative that
       *         can parse from the standardinput.
       */
      BinInputStream* makeStream() const;
  
      //@}
  };
  
  inline StdInInputSource::StdInInputSource() :
  
      InputSource("stdin")
  {
  }
  
  inline StdInInputSource::~StdInInputSource()
  {
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/URLInputSource.hpp
  
  Index: URLInputSource.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: URLInputSource.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/12/14 18:49:56  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.7  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/15 23:59:07  roddey
   * More updated documentation of Framework classes.
   *
   * Revision 1.5  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.4  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  2000/01/26 18:56:02  roddey
   * Needed to include XMLURL.hpp so that it compiles standalone.
   *
   * Revision 1.2  2000/01/15 01:26:16  rahulj
   * Added support for HTTP to the parser using libWWW 5.2.8.
   * Renamed URL.[ch]pp to XMLURL.[ch]pp and like wise for the class name.
   * Only tested under NT 4.0 SP 5.
   * Removed URL.hpp from files where it was not used.
   *
   * Revision 1.1  2000/01/12 00:13:26  roddey
   * These were moved from internal/ to framework/, which was something that should have
   * happened long ago. They are really framework type of classes.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:18  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:44  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  
  #if !defined(URLINPUTSOURCE_HPP)
  #define URLINPUTSOURCE_HPP
  
  #include <util/XMLURL.hpp>
  #include <sax/InputSource.hpp>
  
  class BinInputStream;
  
  /**
   *  This class is a derivative of the standard InputSource class. It provides
   *  for the parser access to data which is referenced via a URL, as apposed to
   *  a local file name. The URL can be provided via an XMLURL class, as a fully
   *  qualified system id, or a base system id and a system id which may be
   *  fully qualified or may be relative to the base.
   *
   *  As with all InputSource derivatives. The primary objective of an input
   *  source is to create an input stream via which the parser can spool in
   *  data from the referenced source.
   *
   *  Note that the parse system does not necessarily support URL based XML
   *  entities out of the box. Support for socket based access is optional and
   *  controlled by the per-platform support.
   */
  class XMLPARSER_EXPORT URLInputSource : public InputSource
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors */
      //@{
  
      /**
        * This constructor accepts an already built URL. It is assumed that
        * it is correct and it will be used as is. In this case, no public id
        * accepted, but it can still be set via the parent class' setPublicId()
        * method.
        *
        * @param  urlId   The URL which holds the system id of the entity
        *                 to parse.
        */
      URLInputSource(const XMLURL& urlId);
  
  
      /**
       *  This constructor takes a base system id URL and a possibly relative
       *  system id. The relative part is parsed and, if it is indeed relative,
       *  it will be made relative to the passed base id. Otherwise, it will be
       *  taken as is.
       *
       *  @param  baseId      The base system id URL which provides the base
       *                      for any relative id part.
       *
       *  @param  systemId    The possibly relative system id URL. If its relative
       *                      its based on baseId, else its taken as is.
       */
      URLInputSource
      (
          const   XMLCh* const    baseId
          , const XMLCh* const    systemId
      );
  
      /**
       *  This constructor is indentical to the previous one, except that it also
       *  allows you to set a public id if you want to.
       *
       *  @param  baseId      The base system id URL which provides the base
       *                      for any relative id part.
       *
       *  @param  systemId    The possibly relative system id URL. If its relative
       *                      its based on baseId, else its taken as is.
       *
       *  @param  publicId    The optional public id to set. This is just passed
       *                      on to the parent class for storage.
       */
      URLInputSource
      (
          const   XMLCh* const    baseId
          , const XMLCh* const    systemId
          , const XMLCh* const    publicId
      );
  
  
      /**
       *  This constructor is identical to the second constructor above, except that
       *  it accepts the relative system id part as a local code page string and
       *  just transcodes it internally, as a convenience.
       *
       *  @param  baseId      The base system id URL which provides the base
       *                      for any relative id part.
       *
       *  @param  systemId    The possibly relative system id URL. If its relative
       *                      its based on baseId, else its taken as is.
       */
      URLInputSource
      (
          const   XMLCh* const    baseId
          , const char* const     systemId
      );
  
      /**
       *  This constructor is identical to the third constructor above, except that
       *  it accepts the relative and public ids as local code page strings and just
       *  transcodes them internally, as a convenience.
       *
       *  @param  baseId      The base system id URL which provides the base
       *                      for any relative id part.
       *
       *  @param  systemId    The possibly relative system id URL. If its relative
       *                      its based on baseId, else its taken as is.
       *
       *  @param  publicId    The optional public id to set. This is just passed
       *                      on to the parent class for storage.
       *                      on to the parent class for storage.
       */
      URLInputSource
      (
          const   XMLCh* const    baseId
          , const char* const     systemId
          , const char* const     publicId
      );
  
      //@}
  
      /** @name Destructor */
      //@{
      ~URLInputSource();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Virtual input source interface
      // -----------------------------------------------------------------------
  
      /** @name Virtual methods */
      //@{
  
      /**
       * This method will return a binary input stream derivative that will
       * parse from the source refered to by the URL system id.
       */
      BinInputStream* makeStream() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /**
        * This method will return a const reference to the URL member which
        * contains the system id in pre-parsed URL form. If you just want the
        * string format, call getSystemId() on the parent class.
        *
        * @return A const reference to a URL object that contains the current
        *         system id set for this input source.
        */
      const XMLURL& urlSrc() const;
  
      //@}
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fURL
      //      This is the URL created from the passed ids.
      // -----------------------------------------------------------------------
      XMLURL fURL;
  };
  
  
  inline const XMLURL& URLInputSource::urlSrc() const
  {
      return fURL;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttDef.hpp
  
  Index: XMLAttDef.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLAttDef.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/08/09 15:23:37  knoaman
   * add support for <anyAttribute> declaration.
   *
   * Revision 1.11  2001/06/21 14:25:26  knoaman
   * Fix for bug 1946
   *
   * Revision 1.10  2001/05/11 13:25:31  tng
   * Copyright update.
   *
   * Revision 1.9  2001/02/27 18:48:20  tng
   * Schema: Add SchemaAttDef, SchemaElementDecl, SchemaAttDefList.
   *
   * Revision 1.8  2000/12/14 18:49:56  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.7  2000/11/30 18:22:38  andyh
   * reuseValidator - fix bugs (spurious errors) that occured on reuse due to
   * pools already containing some items.  Fixed by Tinny Ng.
   *
   * Revision 1.6  2000/07/07 22:23:38  jpolast
   * remove useless getKey() functions.
   *
   * Revision 1.5  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/16 23:03:48  roddey
   * More documentation updates
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:27  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:34  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(ATTDEF_HPP)
  #define ATTDEF_HPP
  
  #include <util/XMLString.hpp>
  
  class XMLAttr;
  
  /** Represents the core information of an atribute definition
   *
   *  This class defines the basic characteristics of an attribute, no matter
   *  what type of validator is used. If a particular schema associates more
   *  information with an attribute it will create a derivative of this class.
   *  So this class provides an abstract way to get basic information on
   *  attributes from any type of validator.
   *
   *  This class supports keyed collection semantics on the fully qualified
   *  attribute name, by providing a getKey() method to extract the key string.
   *  getKey(), in this case, just calls the virtual method getFullName() to
   *  get the fully qualified name, as defined by the derived class.
   *
   *  Note that the 'value' of an attribute type definition is the default or
   *  of fixed value given to it in its definition. If the attribute is of the
   *  enumerated or notation type, it will have an 'enumeration value' as well
   *  which is a space separated list of its possible vlaues.
   */
  class XMLPARSER_EXPORT XMLAttDef
  {
  public:
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  AttTypes
      //      The list of possible types that an attribute can have, according
      //      to the XML 1.0 spec and schema.
      //
      //  DefAttTypes
      //      The modifiers that an attribute decl can have, which indicates
      //      whether instances of that attributes are required, implied, etc..
      //
      //  CreateReasons
      //      This type is used to store how an attribute declaration got into
      //      the elementdecl's attribute pool.
      //
      // -----------------------------------------------------------------------
  	enum AttTypes
      {
          CData               = 0
          , ID                = 1
          , IDRef             = 2
          , IDRefs            = 3
          , Entity            = 4
          , Entities          = 5
          , NmToken           = 6
          , NmTokens          = 7
          , Notation          = 8
          , Enumeration       = 9
          , Simple            = 10
          , Any_Any           = 11
          , Any_Other         = 12
          , Any_List          = 13
  
          , AttTypes_Count
          , AttTypes_Min      = 0
          , AttTypes_Max      = 13
          , AttTypes_Unknown  = -1
  	};
  
      enum DefAttTypes
      {
          Default                  = 0
          , Required               = 1
          , Implied                = 2
          , Prohibited             = 3
          , Fixed                  = 4
          , Required_And_Fixed     = 5
          , ProcessContents_Strict = 6
          , ProcessContents_Lax    = 7
          , ProcessContents_Skip   = 8
  
          , DefAttTypes_Count
          , DefAttTypes_Min   = 0
          , DefAttTypes_Max   = 8
          , DefAttTypes_Unknown = -1
  	};
  
      enum CreateReasons
      {
          NoReason
          , JustFaultIn
      };
  
      // -----------------------------------------------------------------------
      //  Public static data members
      // -----------------------------------------------------------------------
      static const unsigned int fgInvalidAttrId;
  
  
      // -----------------------------------------------------------------------
      //  Public, static methods
      // -----------------------------------------------------------------------
  
      /** @name Public, static methods */
      //@{
  
      /** Get a string representation of the passed attribute type enum
        *
        * This method allows you to get a textual representation of an attriubte
        * type, mostly for debug or display.
        *
        * @param attrType The attribute type value to get the string for.
        *
        * @return A const pointer to the static string that holds the text
        *         description of the passed type.
        */
      static const XMLCh* getAttTypeString(const AttTypes attrType);
  
      /** Get a string representation of the passed def attribute type enum
        *
        * This method allows you to get a textual representation of an default
        * attributetype, mostly for debug or display.
        *
        * @param attrType The default attribute type value to get the string for.
        *
        * @return A const pointer to the static string that holds the text
        *         description of the passed default type.
        */
      static const XMLCh* getDefAttTypeString(const DefAttTypes attrType);
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Destructor
      // -----------------------------------------------------------------------
  
      /** @name Destructor */
      //@{
  
      /**
        *  Destructor
        */
      virtual ~XMLAttDef();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual attribute def interface
      // -----------------------------------------------------------------------
  
      /** @name Virtual interface */
      //@{
  
      /** Get the full name of this attribute type
        *
        * The derived class should return a const pointer to the full name of
        * this attribute. This will vary depending on the type of validator in
        * use.
        *
        * @return A const pointer to the full name of this attribute type.
        */
      virtual const XMLCh* getFullName() const = 0;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /** Get the default type of this attribute type
        *
        * This method returns the 'default type' of the attribute. Default
        * type in this case refers to the XML concept of a default type for
        * an attribute, i.e. #FIXED, #IMPLIED, etc...
        *
        * @return The default type enum for this attribute type.
        */
      DefAttTypes getDefaultType() const;
  
      /** Get the enumeration value (if any) of this attribute type
        *
        * If the attribute is of an enumeration or notatin type, then this
        * method will return a const reference to a string that contains the
        * space separated values that can the attribute can have.
        *
        * @return A const pointer to a string that contains the space separated
        *         legal values for this attribute.
        */
      const XMLCh* getEnumeration() const;
  
      /** Get the pool id of this attribute type
        *
        * This method will return the id of this attribute in the validator's
        * attribute pool. It was set by the validator when this attribute was
        * created.
        *
        * @return The pool id of this attribute type.
        */
      unsigned int getId() const;
  
      /** Query whether the attribute was explicitly provided.
        *
        * When the scanner scans a start tag, it will ask the element decl
        * object of the element type of that start tag to clear the 'provided'
        * flag on all its attributes. As the scanner sees explicitly provided
        * attributes, its turns on this flag to indicate that this attribute
        * has been provided. In this way, the scanner can catch duplicated
        * attributes and required attributes that aren't provided, and default
        * in fixed/default valued attributes that are not explicitly provided.
        *
        * @return Returns a boolean value that indicates whether this attribute
        *         was explicitly provided.
        */
      bool getProvided() const;
  
      /** Get the type of this attribute
        *
        * Gets the type of this attribute. This type is represented by an enum
        * that convers the types of attributes allowed by XML, e.g. CDATA, NMTOKEN,
        * NOTATION, etc...
        *
        * @return The attribute type enumeration value for this type of
        *         attribute.
        */
      AttTypes getType() const;
  
      /** Get the default/fixed value of this attribute (if any.)
        *
        * If the attribute defined a default/fixed value, then it is stored
        * and this method will retrieve it. If it has non, then a null pointer
        * is returned.
        *
        * @return A const pointer to the default/fixed value for this attribute
        *         type.
        */
      const XMLCh* getValue() const;
  
      /** Get the create reason for this attribute
        *
        * This method returns an enumeration which indicates why this attribute
        * declaration exists.
        *
        * @return An enumerated value that indicates the reason why this attribute
        * was added to the attribute table.
        */
      CreateReasons getCreateReason() const;
  
      /** Indicate whether this attribute has been declared externally
        *
        * This method returns a boolean that indicates whether this attribute
        * has been declared externally.
        *
        * @return true if this attribute has been declared externally, else false.
        */
      bool isExternal() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /** Set the default attribute type
        *
        * This method sets the default attribute type for this attribute.
        * This setting controls whether the attribute is required, fixed,
        * implied, etc...
        *
        * @param  The new default attribute to set
        */
      void setDefaultType(const XMLAttDef::DefAttTypes newValue);
  
      /** Set the pool id for this attribute type.
        *
        * This method sets the pool id of this attribute type. This is usually
        * called by the validator that creates the actual instance (which is of
        * a derived type known only by the validator.)
        *
        * @param  The new pool id to set.
        */
      void setId(const unsigned int newId);
  
      /** Set or clear the 'provided' flag.
        *
        * This method will set or clear the 'provided' flag. This is called
        * by the scanner as it is scanning a start tag and marking off the
        * attributes that have been explicitly provided.
        *
        * @param  The new provided state to set
        */
      void setProvided(const bool newValue);
  
      /** Set the type of this attribute type.
        *
        * This method will set the type of the attribute. The type of an attribute
        * controls how it is normalized and what kinds of characters it can hold.
        *
        * @param  The new attribute type to set
        */
      void setType(const XMLAttDef::AttTypes newValue);
  
      /** Set the default/fixed value of this attribute type.
        *
        * This method set the fixed/default value for the attribute. This value
        * will be used when instances of this attribute type are faulted in. It
        * <b>must</b> be a valid value for the type set by setType(). If the
        * type is enumeration or notation, this must be one of the valid values
        * set in the setEnumeration() call.
        *
        * @param  The new fixed/default value to set.
        */
      void setValue(const XMLCh* const newValue);
  
      /** Set the enumerated value of this attribute type.
        *
        * This method sets the enumerated/notation value list for this attribute
        * type. It is a space separated set of possible values. These values must
        * meet the constrains of the XML spec for such values of this type of
        * attribute. This should only be set if the setType() method is used to
        * set the type to the enumeration or notation types.
        *
        * @param  The new enumerated/notation value list to set.
        */
      void setEnumeration(const XMLCh* const newValue);
  
      /** Update the create reason for this attribute type.
        *
        * This method will update the 'create reason' field for this attribute
        * decl object.
        */
      void setCreateReason(const CreateReasons newReason);
  
      /**
        * Set the attribute decl to indicate external declaration
        */
      void setExternalAttDeclaration(const bool aValue);
  
      //@}
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLAttDef
      (
          const   AttTypes            type = CData
          , const DefAttTypes         defType = Implied
      );
      XMLAttDef
      (
          const   XMLCh* const        attValue
          , const AttTypes            type
          , const DefAttTypes         defType
          , const XMLCh* const        enumValues = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLAttDef(const XMLAttDef&);
      void operator=(const XMLAttDef&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDefaultType
      //      Indicates what, if any, default stuff this attribute has.
      //
      //  fEnumeration
      //      If its an enumeration, this is the list of values as space
      //      separated values.
      //
      //  fId
      //      This is the unique id of this attribute, given to it when its put
      //      into the validator's attribute decl pool. It defaults to the
      //      special value XMLAttrDef::fgInvalidAttrId.
      //
      //  fProvided
      //      This field is really for use by the scanner. It is used to track
      //      which of the attributes of an element were provided. Any marked
      //      as not provided (after scanning the start tag) and having a
      //      default type of Required, is in error.
      //
      //  fType
      //      The type of attribute, which is one of the AttTypes values.
      //
      //  fValue
      //      This is the value of the attribute, which is the default value
      //      given in the attribute declaration.
      //
      //  fCreateReason
      //      This flag tells us how this attribute got created.  Sometimes even
      //      the attribute was not declared for the element, we want to fault
      //      fault it into the pool to avoid lots of redundant errors.
      //
      //  fExternalAttribute
      //      This flag indicates whether or not the attribute was declared externally.
      // -----------------------------------------------------------------------
      DefAttTypes     fDefaultType;
      XMLCh*          fEnumeration;
      unsigned int    fId;
      bool            fProvided;
      AttTypes        fType;
      XMLCh*          fValue;
      CreateReasons   fCreateReason;
      bool            fExternalAttribute;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  Getter methods
  // ---------------------------------------------------------------------------
  inline XMLAttDef::DefAttTypes XMLAttDef::getDefaultType() const
  {
      return fDefaultType;
  }
  
  inline const XMLCh* XMLAttDef::getEnumeration() const
  {
      return fEnumeration;
  }
  
  inline unsigned int XMLAttDef::getId() const
  {
      return fId;
  }
  
  inline bool XMLAttDef::getProvided() const
  {
      return fProvided;
  }
  
  inline XMLAttDef::AttTypes XMLAttDef::getType() const
  {
      return fType;
  }
  
  inline const XMLCh* XMLAttDef::getValue() const
  {
      return fValue;
  }
  
  inline XMLAttDef::CreateReasons XMLAttDef::getCreateReason() const
  {
      return fCreateReason;
  }
  
  inline bool XMLAttDef::isExternal() const
  {
      return fExternalAttribute;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLAttDef: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLAttDef::setDefaultType(const XMLAttDef::DefAttTypes newValue)
  {
      fDefaultType = newValue;
  }
  
  inline void XMLAttDef::setEnumeration(const XMLCh* const newValue)
  {
      delete [] fEnumeration;
  
      if (newValue) {
          fEnumeration = XMLString::replicate(newValue);
      }
      else {
          fEnumeration = 0;
      }
  }
  
  inline void XMLAttDef::setId(const unsigned int newId)
  {
      fId = newId;
  }
  
  inline void XMLAttDef::setProvided(const bool newValue)
  {
      fProvided = newValue;
  }
  
  inline void XMLAttDef::setType(const XMLAttDef::AttTypes newValue)
  {
      fType = newValue;
  }
  
  inline void XMLAttDef::setValue(const XMLCh* const newValue)
  {
      delete [] fValue;
      fValue = XMLString::replicate(newValue);
  }
  
  inline void
  XMLAttDef::setCreateReason(const XMLAttDef::CreateReasons newReason)
  {
      fCreateReason = newReason;
  }
  
  inline void XMLAttDef::setExternalAttDeclaration(const bool aValue)
  {
      fExternalAttribute = aValue;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttDefList.hpp
  
  Index: XMLAttDefList.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLAttDefList.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:46  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:28  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:35  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLATTDEFLIST_HPP)
  #define XMLATTDEFLIST_HPP
  
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  #include <framework/XMLAttDef.hpp>
  
  
  /**
   *  This class defines an abstract interface that all validators must support.
   *  When the scanner scans the attributes in a start tag, it must have a list
   *  of the defined attributes for that element. This is used to fault in
   *  defaulted and fixed attributes, to know which ones are required, and to
   *  know the their types in order to do the correct normalization.
   *
   *  Since each validator will have its own derivatives of XMLAttDef and will
   *  have its own specialized storage mechanisms for elements and the att
   *  defs that they own, there must be an abstracted way for the scanner to
   *  deal with this list.
   *
   *  It does not derive from the generic Enumerator template class, because
   *  there are portability issues with deriving from a template class in a
   *  DLL. It does though provide a similar enumerator interface.
   */
  class XMLPARSER_EXPORT XMLAttDefList
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Destructor */
      //@{
      virtual ~XMLAttDefList();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual interface
      // -----------------------------------------------------------------------
      virtual bool hasMoreElements() const = 0;
      virtual bool isEmpty() const = 0;
      virtual XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      ) = 0;
      virtual const XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      )   const = 0;
      virtual XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      ) = 0;
      virtual const XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      )   const = 0;
      virtual XMLAttDef& nextElement() = 0;
      virtual void Reset() = 0;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors and operators
      // -----------------------------------------------------------------------
      XMLAttDefList();
      XMLAttDefList(const XMLAttDefList&);
      XMLAttDefList& operator=(const XMLAttDefList&);
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLAttDefList: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline XMLAttDefList::~XMLAttDefList()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLAttDefList: Hidden Constructors and Operators
  // ---------------------------------------------------------------------------
  inline XMLAttDefList::XMLAttDefList()
  {
  }
  
  inline XMLAttDefList::XMLAttDefList(const XMLAttDefList&)
  {
  }
  
  inline XMLAttDefList& XMLAttDefList::operator=(const XMLAttDefList&)
  {
      return *this;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLAttr.hpp
  
  Index: XMLAttr.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLAttr.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2001/05/11 13:25:31  tng
   * Copyright update.
   *
   * Revision 1.7  2001/02/27 18:33:55  tng
   * Schema: Use QName in XMLAttr.
   *
   * Revision 1.6  2000/04/10 22:42:53  roddey
   * Extended the buffer reuse to the QName field, to further increase
   * performance of attribute heavy applications.
   *
   * Revision 1.5  2000/03/02 19:54:24  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:47  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:28  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:35  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLATTR_HPP)
  #define XMLATTR_HPP
  
  #include <util/XMLString.hpp>
  #include <util/QName.hpp>
  #include <framework/XMLAttDef.hpp>
  
  
  /**
   *  This class defines the information about an attribute that will come out
   *  of the scanner during parsing. This information does not depend upon the
   *  type of validator because it is not tied to any scheme/DTD type info. Its
   *  just the raw XML 1.0 information that will be reported about an attribute
   *  in the startElement() callback method of the XMLDocumentHandler class.
   *  Hence it is not intended to be extended or derived from. Its designed to
   *  be used as is.
   *
   *  The 'specified' field of this class indicates whether the attribute was
   *  actually present or whether it was faulted in because it had a fixed or
   *  default value.
   *
   *  The code receiving this information can ask its validator for more info
   *  about the attribute, i.e. get its declaration from the DTD/Schema info.
   *
   *  Because of the heavy use (and reuse) of instances of this class, and the
   *  number of string members it has, this class takes pains to not reallocate
   *  string members unless it has to. It keeps up with how long each buffer
   *  is and only reallocates if the new value won't fit.
   */
  class XMLPARSER_EXPORT XMLAttr
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      /** @name Constructors */
      //@{
  
      /**
        * The default constructor just setsup an empty attribute to be filled
        * in the later. Though the initial state is a reasonable one, it is
        * not documented because it should not be depended on.
        */
      XMLAttr();
  
      /**
        * This is the primary constructor which takes all of the information
        * required to construct a complete attribute object.
        *
        * @param  uriId       The id into the validator's URI pool of the URI
        *                     that the prefix mapped to. Only used if namespaces
        *                     are enabled/supported.
        *
        * @param  attrName    The base name of the attribute, i.e. the part
        *                     after any prefix.
        *
        * @param  attrPrefix  The prefix, if any, of this attribute's name. If
        *                     this is empty, then uriID is meaningless as well.
        *
        * @param  attrValue   The value string of the attribute, which should
        *                     be fully normalized by XML rules!
        *
        * @param  type        The type of the attribute. This will indicate
        *                     the type of normalization done and constrains
        *                     the value content. Make sure that the value
        *                     set meets the constraints!
        *
        * @param  specified   Indicates whether the attribute was explicitly
        *                     specified or not. If not, then it was faulted
        *                     in from a FIXED or DEFAULT value.
        */
      XMLAttr
      (
          const   unsigned int        uriId
          , const XMLCh* const        attrName
          , const XMLCh* const        attrPrefix
          , const XMLCh* const        attrValue
          , const XMLAttDef::AttTypes type = XMLAttDef::CData
          , const bool                specified = true
      );
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLAttr();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /**
        * This method gets a const pointer tot he name of the attribute. The
        * form of this name is defined by the validator in use.
        */
      const XMLCh* getName() const;
  
      /**
        * This method will get a const pointer to the prefix string of this
        * attribute. Since prefixes are optional, it may be zero.
        */
      const XMLCh* getPrefix() const;
  
      /**
        * This method will get the QName of this attribute, which will be the
        * prefix if any, then a colon, then the base name. If there was no
        * prefix, its the same as the getName() method.
        */
      const XMLCh* getQName() const;
  
      /**
        * This method will get the specified flag, which indicates whether
        * the attribute was explicitly specified or just faulted in.
        */
      bool getSpecified() const;
  
      /**
        * This method will get the type of the attribute. The available types
        * are defined by the XML specification.
        */
      XMLAttDef::AttTypes getType() const;
  
      /**
        * This method will get the value of the attribute. The value can be
        * be an empty string, but never null if the object is correctly
        * set up.
        */
      const XMLCh* getValue() const;
  
      /**
        * This method will get the id of the URI that this attribute's prefix
        * mapped to. If namespaces are not on, then its value is meaningless.
        */
      unsigned int getURIId() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /**
        * This method is called to set up a default constructed object after
        * the fact, or to reuse a previously used object.
        *
        * @param  uriId       The id into the validator's URI pool of the URI
        *                     that the prefix mapped to. Only used if namespaces
        *                     are enabled/supported.
        *
        * @param  attrName    The base name of the attribute, i.e. the part
        *                     after any prefix.
        *
        * @param  attrPrefix  The prefix, if any, of this attribute's name. If
        *                     this is empty, then uriID is meaningless as well.
        *
        * @param  attrValue   The value string of the attribute, which should
        *                     be fully normalized by XML rules according to the
        *                     attribute type.
        *
        * @param  type        The type of the attribute. This will indicate
        *                     the type of normalization done and constrains
        *                     the value content. Make sure that the value
        *                     set meets the constraints!
        *
        * @param  specified   Indicates whether the attribute was explicitly
        *                     specified or not. If not, then it was faulted
        *                     in from a FIXED or DEFAULT value.
        */
      void set
      (
          const   unsigned int        uriId
          , const XMLCh* const        attrName
          , const XMLCh* const        attrPrefix
          , const XMLCh* const        attrValue
          , const XMLAttDef::AttTypes type = XMLAttDef::CData
      );
  
      /**
        * This method will update just the name related fields of the
        * attribute object. The other fields are left as is.
        *
        * @param  uriId       The id into the validator's URI pool of the URI
        *                     that the prefix mapped to. Only used if namespaces
        *                     are enabled/supported.
        *
        * @param  attrName    The base name of the attribute, i.e. the part
        *                     after any prefix.
        *
        * @param  attrPrefix  The prefix, if any, of this attribute's name. If
        *                     this is empty, then uriID is meaningless as well.
        */
      void setName
      (
          const   unsigned int        uriId
          , const XMLCh* const        attrName
          , const XMLCh* const        attrPrefix
      );
  
      /**
        * This method will update the specified state of the object.
        *
        * @param  specified   Indicates whether the attribute was explicitly
        *                     specified or not. If not, then it was faulted
        *                     in from a FIXED or DEFAULT value.
        */
      void setSpecified(const bool newValue);
  
      /**
        * This method will update the attribute type of the object.
        *
        * @param  newType     The type of the attribute. This will indicate
        *                     the type of normalization done and constrains
        *                     the value content. Make sure that the value
        *                     set meets the constraints!
        */
      void setType(const XMLAttDef::AttTypes newType);
  
      /**
        * This method will update the value field of the attribute.
        *
        * @param  attrValue   The value string of the attribute, which should
        *                     be fully normalized by XML rules according to the
        *                     attribute type.
        */
      void setValue(const XMLCh* const newValue);
  
      /**
        * This method will set the URI id field of this attribute. This is
        * generally only ever called internally by the parser itself during
        * the parsing process.
        */
      void setURIId(const unsigned int uriId);
  
      //@}
  
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLAttr(const XMLAttr&);
      XMLAttr& operator=(const XMLAttr&);
  
  
      // -----------------------------------------------------------------------
      //  Private, helper methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
  
      // -----------------------------------------------------------------------
      //  Private instance variables
      //
      //  fAttName
      //      The Attribute Name;
      //
      //  fSpecified
      //      True if this attribute appeared in the element; else, false if
      //      it was defaulted from an AttDef.
      //
      //  fType
      //      The attribute type enum value for this attribute. Indicates what
      //      type of attribute it was.
      //
      //  fValue
      //  fValueBufSz
      //      The attribute value that was given in the attribute instance, and
      //      its current buffer size (minus one, where the null is.)
      //
      // -----------------------------------------------------------------------
      bool                fSpecified;
      XMLAttDef::AttTypes fType;
      XMLCh*              fValue;
      unsigned int        fValueBufSz;
      QName*              fAttName;
  };
  
  // ---------------------------------------------------------------------------
  //  XMLAttr: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline XMLAttr::~XMLAttr()
  {
      cleanUp();
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLAttr: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLAttr::getName() const
  {
      return fAttName->getLocalPart();
  }
  
  inline const XMLCh* XMLAttr::getPrefix() const
  {
      return fAttName->getPrefix();
  }
  
  inline bool XMLAttr::getSpecified() const
  {
      return fSpecified;
  }
  
  inline XMLAttDef::AttTypes XMLAttr::getType() const
  {
      return fType;
  }
  
  inline const XMLCh* XMLAttr::getValue() const
  {
      return fValue;
  }
  
  inline unsigned int XMLAttr::getURIId() const
  {
      return fAttName->getURI();
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLAttr: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLAttr::set(const  unsigned int        uriId
                          , const XMLCh* const        attrName
                          , const XMLCh* const        attrPrefix
                          , const XMLCh* const        attrValue
                          , const XMLAttDef::AttTypes type)
  {
      // Set the name info and the value via their respective calls
      fAttName->setName(attrPrefix, attrName, uriId);
      setValue(attrValue);
  
      // And store the type
      fType = type;
  }
  
  inline void XMLAttr::setType(const XMLAttDef::AttTypes newValue)
  {
      fType = newValue;
  }
  
  inline void XMLAttr::setSpecified(const bool newValue)
  {
      fSpecified = newValue;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLBuffer.hpp
  
  Index: XMLBuffer.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLBuffer.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/06/27 20:29:09  tng
   * [Bug 2365] Huge performance problem with the parser in XMLScanner::sendCharData() .  By David Bertoni.
   *
   * Revision 1.5  2000/03/02 19:54:24  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:00:22  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:47  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:29  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:36  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLBUFFER_HPP)
  #define XMLBUFFER_HPP
  
  #include <util/XercesDefs.hpp>
  
  /**
   *  XMLBuffer is a lightweight, expandable Unicode text buffer. Since XML is
   *  inherently theoretically unbounded in terms of the sizes of things, we
   *  very often need to have expandable buffers. The primary concern here is
   *  that appends of characters and other buffers or strings be very fast, so
   *  it always maintains the current buffer size.
   *
   *  The buffer is not nul terminated until some asks to see the raw buffer
   *  contents. This also avoids overhead during append operations.
   */
  class XMLPARSER_EXPORT XMLBuffer
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructor */
      //@{
      XMLBuffer(int capacity = 1023) :
  
          fBuffer(0)
          , fIndex(0)
          , fCapacity(capacity)
          , fUsed(false)
      {
          // Buffer is one larger than capacity, to allow for zero term
          fBuffer = new XMLCh[fCapacity+1];
  
          // Keep it null terminated
          fBuffer[0] = XMLCh(0);
      }
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLBuffer()
      {
          delete [] fBuffer;
      }
      //@}
  
      // -----------------------------------------------------------------------
      //  Buffer Management
      // -----------------------------------------------------------------------
      void append(const XMLCh toAppend)
      {
          if (fIndex == fCapacity)
              expand();
  
          // Put in char and bump the index
          fBuffer[fIndex++] = toAppend;
      }
  
      void append
      (
          const   XMLCh* const    chars
          , const unsigned int    count = 0
      );
  
      const XMLCh* getRawBuffer() const
      {
          fBuffer[fIndex] = 0;
          return fBuffer;
      }
  
      XMLCh* getRawBuffer()
      {
          fBuffer[fIndex] = 0;
          return fBuffer;
      }
  
      void reset()
      {
          fIndex = 0;
          fBuffer[0] = 0;
      }
  
      void set
      (
          const   XMLCh* const    chars
          , const unsigned int    count = 0
      );
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      bool getInUse()
      {
          return fUsed;
      }
  
      unsigned int getLen() const
      {
          return fIndex;
      }
  
      bool isEmpty()
      {
          return (fIndex == 0);
      }
  
  
      // -----------------------------------------------------------------------
      //  Setters
      // -----------------------------------------------------------------------
      void setInUse(const bool newValue)
      {
          fUsed = newValue;
      }
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class XMLBufBid;
  
  
      // -----------------------------------------------------------------------
      //  Private helpers
      // -----------------------------------------------------------------------
      void expand();
      void insureCapacity(const unsigned int extraNeeded);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBuffer
      //      The pointer to the buffer data. Its grown as needed. Its always
      //      one larger than fCapacity, to leave room for the null terminator.
      //
      //  fIndex
      //      The current index into the buffer, as characters are appended
      //      to it. If its zero, then the buffer is empty.
      //
      //  fCapacity
      //      The current capacity of the buffer. Its actually always one
      //      larger, to leave room for the null terminator.
      //
      //  fUsed
      //      Indicates whether this buffer is in use or not.
      // -----------------------------------------------------------------------
      XMLCh*          fBuffer;
      unsigned int    fIndex;
      unsigned int    fCapacity;
      bool            fUsed;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLBufferMgr.hpp
  
  Index: XMLBufferMgr.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLBufferMgr.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:54:24  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:47  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:30  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:36  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLBUFFERMGR_HPP)
  #define XMLBUFFERMGR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <framework/XMLBuffer.hpp>
  
  class XMLBufBid;
  
  /**
   *  There are many places where XMLBuffer objects are needed. In order to
   *  avoid either constantly creating and destroying them or maintaining a
   *  fixed set and worrying about accidental reuse, a buffer manager can
   *  provide a pool of buffers which can be temporarily used and then put
   *  back into the pool. This provides a good compromise between performance
   *  and easier maintenance.
   */
  class XMLPARSER_EXPORT XMLBufferMgr
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructor */
      //@{
      XMLBufferMgr();
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLBufferMgr();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Buffer management
      // -----------------------------------------------------------------------
      XMLBuffer& bidOnBuffer();
      void releaseBuffer(XMLBuffer& toRelease);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBufCount
      //      The count of buffers that have been allocated so far.
      //
      //  fBufList;
      //      The list of pointers to buffers that are loaned out. There will
      //      never be a lot of them, so a flat list is good enough.
      // -----------------------------------------------------------------------
      unsigned int    fBufCount;
      XMLBuffer**     fBufList;
  };
  
  
  /**
   *  XMLBufBid is a scoped based janitor that allows the scanner code to ask
   *  for a buffer on a scoped basis and then insure that it gets freed back
   *  into the pool no matter how the scope is exited (exception or normal exit.)
   */
  class XMLBufBid
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLBufBid(XMLBufferMgr* const srcMgr) :
  
          fBuffer(srcMgr->bidOnBuffer())
          , fMgr(srcMgr)
      {
      }
  
      ~XMLBufBid()
      {
          fMgr->releaseBuffer(fBuffer);
      }
  
  
  
      // -----------------------------------------------------------------------
      //  Buffer access
      // -----------------------------------------------------------------------
      void append(const XMLCh toAppend)
      {
          fBuffer.append(toAppend);
      }
  
      void append(const XMLCh* const toAppend, const unsigned int count = 0)
      {
          fBuffer.append(toAppend, count);
      }
  
      const XMLBuffer& getBuffer() const
      {
          return fBuffer;
      }
  
      XMLBuffer& getBuffer()
      {
          return fBuffer;
      }
  
      const XMLCh* getRawBuffer() const
      {
          fBuffer.fBuffer[fBuffer.fIndex] = 0;
          return fBuffer.fBuffer;
      }
  
      XMLCh* getRawBuffer()
      {
          fBuffer.fBuffer[fBuffer.fIndex] = 0;
          return fBuffer.fBuffer;
      }
  
      unsigned int getLen() const
      {
          return fBuffer.fIndex;
      }
  
      bool isEmpty()
      {
          return (fBuffer.fIndex == 0);
      }
  
      void reset()
      {
          fBuffer.reset();
      }
  
      void set(const XMLCh* const chars, const unsigned int count = 0)
      {
          fBuffer.set(chars, count);
      }
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBuffer
      //      This is the buffer we got, and which we will release.
      //
      //  fMgr
      //      This is the buffer manager we got the buffer from. This is needed
      //      to release the buffer later.
      // -----------------------------------------------------------------------
      XMLBuffer&          fBuffer;
      XMLBufferMgr* const fMgr;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLContentModel.hpp
  
  Index: XMLContentModel.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLContentModel.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2001/08/21 16:06:10  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.12  2001/08/13 15:06:38  knoaman
   * update <any> validation.
   *
   * Revision 1.11  2001/05/28 20:53:35  tng
   * Schema: move static data gInvalidTrans, gEOCFakeId, gEpsilonFakeId to XMLContentModel for others to access
   *
   * Revision 1.10  2001/05/11 13:25:31  tng
   * Copyright update.
   *
   * Revision 1.9  2001/05/03 21:02:23  tng
   * Schema: Add SubstitutionGroupComparator and update exception messages.  By Pei Yong Zhang.
   *
   * Revision 1.8  2001/04/19 18:16:50  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.7  2001/03/21 21:56:01  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.6  2001/02/27 14:48:30  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.5  2000/03/02 19:54:24  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:48  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:30  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:37  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(CONTENTMODEL_HPP)
  #define CONTENTMODEL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/QName.hpp>
  
  class ContentLeafNameTypeVector;
  class GrammarResolver;
  class XMLStringPool;
  class XMLValidator;
  
  /**
   *  This class defines the abstract interface for all content models. All
   *  elements have a content model against which (if validating) its content
   *  is checked. Each type of validator (DTD, Schema, etc...) can have
   *  different types of content models, and even with each type of validator
   *  there can be specialized content models. So this simple class provides
   *  the abstract API via which all the types of contents models are dealt
   *  with generically. Its pretty simple.
   */
  class XMLPARSER_EXPORT XMLContentModel
  {
  public:
      // ---------------------------------------------------------------------------
      //  Public static data
      //
      //  gInvalidTrans
      //      This value represents an invalid transition in each line of the
      //      transition table.
      //
      //  gEOCFakeId
      //  gEpsilonFakeId
      //      We have to put in a couple of special CMLeaf nodes to represent
      //      special values, using fake element ids that we know won't conflict
      //      with real element ids.
      //
      //
      // ---------------------------------------------------------------------------
      static const unsigned int   gInvalidTrans;
      static const unsigned int   gEOCFakeId;
      static const unsigned int   gEpsilonFakeId;
  
      // -----------------------------------------------------------------------
      //  Constructors are hidden, only the virtual Destructor is exposed
      // -----------------------------------------------------------------------
      /** @name Destructor */
      //@{
      virtual ~XMLContentModel()
      {
      }
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual content model interface provided by derived classes
      // -----------------------------------------------------------------------
  	virtual int validateContent
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
      ) const = 0;
  
  	virtual int validateContentSpecial
      (
          QName** const           children
        , const unsigned int      childCount
        , const unsigned int      emptyNamespaceId
        , GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
      ) const =0;
  
  	virtual void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      ) =0;
  
      virtual ContentLeafNameTypeVector* getContentLeafNameTypeVector()
  	  const = 0;
  
      virtual unsigned int getNextState(const unsigned int currentState,
                                        const unsigned int elementIndex) const = 0;
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden Constructors
      // -----------------------------------------------------------------------
      XMLContentModel()
      {
      }
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLContentModel(const XMLContentModel&);
      void operator=(const XMLContentModel&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLDocumentHandler.hpp
  
  Index: XMLDocumentHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
   /*
    * $Log: XMLDocumentHandler.hpp,v $
    * Revision 1.1  2002/03/22 00:41:51  sanjiva
    * added c++ contribution from Sri Lanka
    *
    * Revision 1.8  2000/03/02 19:54:24  roddey
    * This checkin includes many changes done while waiting for the
    * 1.1.0 code to be finished. I can't list them all here, but a list is
    * available elsewhere.
    *
    * Revision 1.7  2000/02/24 20:00:23  abagchi
    * Swat for removing Log from API docs
    *
    * Revision 1.6  2000/02/16 20:29:20  aruna1
    * API Doc++ summary changes in
    *
    * Revision 1.5  2000/02/16 19:48:56  roddey
    * More documentation updates
    *
    * Revision 1.4  2000/02/15 01:21:30  roddey
    * Some initial documentation improvements. More to come...
    *
    * Revision 1.3  2000/02/09 19:47:27  abagchi
    * Added docs for startElement
    *
    * Revision 1.2  2000/02/06 07:47:48  rahulj
    * Year 2K copyright swat.
    *
    * Revision 1.1.1.1  1999/11/09 01:08:31  twl
    * Initial checkin
    *
    * Revision 1.3  1999/11/08 20:44:37  rahul
    * Swat for adding in Product name and CVS comment log variable.
    *
    */
  
  
  #if !defined(XMLDOCUMENTHANDLER_HPP)
  #define XMLDOCUMENTHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/RefVectorOf.hpp>
  #include <framework/XMLAttr.hpp>
  
  class XMLElementDecl;
  class XMLEntityDecl;
  
  /**
    * This abstract class provides the interface for the scanner to return
    * XML document information up to the parser as it scans through the
    * document. 
    * 
    * The interface is very similar to org.sax.DocumentHandler, but
    * has some extra methods required to get all the data out.
    */
  class XMLPARSER_EXPORT XMLDocumentHandler
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors are hidden, just the virtual destructor is exposed
      // -----------------------------------------------------------------------
      /** @name Destructor */
      //@{
      virtual ~XMLDocumentHandler()
      {
      }
      //@}
  
      /** @name The document handler interface */
      //@{
      /** Receive notification of character data.
        *
        * <p>The scanner will call this method to report each chunk of
        * character data. The scanner may return all contiguous character
        * data in a single chunk, or they may split it into several
        * chunks; however, all of the characters in any single event
        * will come from the same external entity, so that the Locator
        * provides useful information.</p>
        *
        * <p>The parser must not attempt to read from the array
        * outside of the specified range.</p>
        *
        * @param  chars           The content (characters) between markup from the XML
        *                         document.
        * @param  length          The number of characters to read from the array.
        * @param  cdataSection    Indicates that this data is inside a CDATA
        *                         section.
        * @see #ignorableWhitespace 
        * @see Locator
        */
      virtual void docCharacters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      ) = 0;
  
      /** Receive notification of comments in the XML content being parsed.
        *
        * This scanner will call this method for any comments found in the
        * content of the document.
        *
        * @param comment The text of the comment.
        */
      virtual void docComment
      (
          const   XMLCh* const    comment
      ) = 0;
  
      /** Receive notification of PI's parsed in the XML content.
        *
        * The scanner will call this method for any PIs it finds within the
        * content of the document.
        *
        * @param  target  The name of the PI.
        * @param  data    The body of the PI. This may be an empty string since
        *                 the body is optional.
        */
      virtual void docPI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      ) = 0;
  
      /** Receive notification after the scanner has parsed the end of the
        * document.
        *
        * The scanner will call this method when the current document has been
        * fully parsed. The handler may use this opportunity to do something with
        * the data, clean up temporary data, etc...
        */
      virtual void endDocument() = 0;
  
      /** Receive notification of the end of an element.
        *
        * This method is called when scanner encounters the end of element tag.
        * There will be a corresponding startElement() event for every
        * endElement() event, but not necessarily the other way around. For
        * empty tags, there is only a startElement() call.
        *
        * @param  elementDecl The name of the element whose end tag was just
        *                     parsed.
        * @param  uriId       The ID of the URI in the URI pool (only valid if 
        *                     name spaces is enabled)
        * @param  isRoot      Indicates if this is the root element.
        */
      virtual void endElement
      (
          const   XMLElementDecl& elemDecl
          , const unsigned int    uriId
          , const bool            isRoot
      ) = 0;
  
      /** Receive notification when a referenced entity's content ends
        *
        * This method is called when scanner encounters the end of an entity
        * reference.
        *
        * @param  entityName  The name of the entity reference just scanned.
        */
      virtual void endEntityReference
      (
          const   XMLEntityDecl&  entDecl
      ) = 0;
  
      /** Receive notification of ignorable whitespace in element content.
        *
        * <p>Validating Parsers must use this method to report each chunk
        * of ignorable whitespace (see the W3C XML 1.0 recommendation,
        * section 2.10): non-validating parsers may also use this method
        * if they are capable of parsing and using content models.</p>
        *
        * <p>The scanner may return all contiguous whitespace in a single
        * chunk, or it may split it into several chunks; however, all of
        * the characters in any single event will come from the same
        * external entity, so that the Locator provides useful
        * information.</p>
        *
        * <p>The parser must not attempt to read from the array
        * outside of the specified range.</p>
        *
        * @param  chars       The whitespace characters from the XML document.
        * @param  length      The number of characters to read from the array.
        * @param  cdataSection Indicates that this data is inside a CDATA
        *                     section.
        * @see #characters
        */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      ) = 0;
  
      /** Reset the document handler's state, if required
        *
        * This method is used to give the registered document handler a
        * chance to reset itself. Its called by the scanner at the start of
        * every parse.
        */
      virtual void resetDocument() = 0;
  
      /** Receive notification of the start of a new document
        *
        * This method is the first callback called the scanner at the
        * start of every parse. This is before any content is parsed.
        */
      virtual void startDocument() = 0;
  
      /** Receive notification of a new start tag
        *
        * This method is called when scanner encounters the start of an element tag.
        * All elements must always have a startElement() tag. Empty tags will
        * only have the startElement() tag and no endElement() tag.
        *
        * @param  elementDecl The name of the element whose start tag was just
        *                     parsed.
        * @param  uriId       The ID of the URI in the URI pool (only valid if 
        *                     name spaces is enabled)
        * @param  prefixName  The string representing the prefix name
        * @param  attrList    List of attributes in the element
        * @param  attrCount   Count of the attributes in the element
        * @param  isEmpty     Indicates if the element is empty, in which case
        *                     you should not expect an endElement() event.
        * @param  isRoot      Indicates if this is the root element.
        */
      virtual void startElement
      (
          const   XMLElementDecl&         elemDecl
          , const unsigned int            uriId
          , const XMLCh* const            prefixName
          , const RefVectorOf<XMLAttr>&   attrList
          , const unsigned int            attrCount
          , const bool                    isEmpty
          , const bool                    isRoot
      ) = 0;
  
      /** Receive notification when the scanner hits an entity reference.
        *
        * This is currently useful only to DOM parser configurations as SAX
        * does not provide any api to return this information.
        *
        * @param  entityName  The name of the entity that was referenced.
        */
      virtual void startEntityReference(const XMLEntityDecl& entDecl) = 0;
  
      /** Receive notification of an XML declaration
        *
        * Currently neither DOM nor SAX provide API's to return back this
        * information.
        *
        * @param  versionStr      The value of the <code>version</code> attribute
        *                         of the XML decl.
        * @param  encodingStr     The value of the <code>encoding</code> attribute
        *                         of the XML decl.
        * @param  standaloneStr   The value of the <code>standalone</code>
        *                         attribute of the XML decl.
        * @param  autoEncodingStr The encoding string auto-detected by the
        *                         scanner. In absence of any 'encoding' attribute in the
        *                         XML decl, the XML standard specifies how a parser can
        *                         auto-detect. If there is no <code>encodingStr</code>
        *                         this is what will be used to try to decode the file.
        */
      virtual void XMLDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
          , const XMLCh* const    standaloneStr
          , const XMLCh* const    autoEncodingStr
      ) = 0;
      //@}
  
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden Constructors
      // -----------------------------------------------------------------------
      XMLDocumentHandler()
      {
      }
  
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLDocumentHandler(const XMLDocumentHandler&);
      void operator=(const XMLDocumentHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLElementDecl.hpp
  
  Index: XMLElementDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLElementDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.18  2001/08/21 16:06:10  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.17  2001/07/24 18:30:47  knoaman
   * Added support for <group> + extra constraint checking for complexType
   *
   * Revision 1.16  2001/06/21 14:25:28  knoaman
   * Fix for bug 1946
   *
   * Revision 1.15  2001/05/11 13:25:32  tng
   * Copyright update.
   *
   * Revision 1.14  2001/05/03 20:34:22  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.13  2001/04/19 18:16:52  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.12  2001/03/21 21:56:02  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.11  2001/03/21 19:29:29  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.10  2001/02/26 19:29:13  tng
   * Schema: add virtual method getURI(), getContentSpec and setContenSpec in XMLElementDecl, and DTDElementDecl.
   *
   * Revision 1.9  2001/02/26 19:21:30  tng
   * Schema: add parameter prefix in findElem and findAttr.
   *
   * Revision 1.8  2000/12/14 18:49:57  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.7  2000/11/30 18:22:38  andyh
   * reuseValidator - fix bugs (spurious errors) that occured on reuse due to
   * pools already containing some items.  Fixed by Tinny Ng.
   *
   * Revision 1.6  2000/05/11 23:11:32  andyh
   * Add missing validity checks for stand-alone documents, character range
   * and Well-formed parsed entities.  Changes contributed by Sean MacRoibeaird
   * <se...@ireland.sun.com>
   *
   * Revision 1.5  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/16 19:48:56  roddey
   * More documentation updates
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:48  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:32  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:38  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLELEMENTDECL_HPP)
  #define XMLELEMENTDECL_HPP
  
  #include <util/XMLString.hpp>
  #include <framework/XMLAttr.hpp>
  #include <framework/XMLAttDefList.hpp>
  
  class ContentSpecNode;
  class XMLContentModel;
  
  /**
   *  This class defines the core information of an element declaration. Each
   *  validator (DTD, Schema, etc...) will have its own information that it
   *  associations with the declaration of an element, but they must all share
   *  at least this core information, i.e. they must all derive from this
   *  class. The set of info enforced at this level is driven by the needs of
   *  XML 1.0 spec validation and well formedness checks.
   *
   *  This class defines some special element id values for invalid elements
   *  and PCDATA elements, as well as a string for the special PCDATA element
   *  name. All validators must honor these special values in order to allow
   *  content models to work generically (i.e. to let code know when its dealing
   *  with invalid or PCDATA element ids without having to know what type of
   *  validator its messing with.)
   */
  class XMLPARSER_EXPORT XMLElementDecl
  {
   public:
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  CreateReasons
      //      This type is used to store how an element declaration got into
      //      the grammar's element pool. They are faulted in for various
      //      reasons.
      //
      //  LookupOpts
      //      These are the values used by the attribute lookup methods.
      //
      //  CharDataOpts
      //      This is used to indicate how this type of element reacts to
      //      character data as content.
      // -----------------------------------------------------------------------
      enum CreateReasons
      {
          NoReason
          , Declared
          , AttList
          , InContentModel
          , AsRootElem
          , JustFaultIn
      };
  
      enum LookupOpts
      {
          AddIfNotFound
          , FailIfNotFound
      };
  
      enum CharDataOpts
      {
          NoCharData
          , SpacesOk
          , AllCharData
      };
  
  
      // -----------------------------------------------------------------------
      //  Public static data
      //
      //  fgInvalidElemId
      //      A value to represent an invalid element node id.
      //
      //  fgPCDataElemId
      //      This is the value to use to represent a PCDATA node when an
      //      element id is required.
      //
      //  fgPCDataElemName
      //      This is the value to use to represent a PCDATA node when an
      //      element name is required.
      // -----------------------------------------------------------------------
      static const unsigned int   fgInvalidElemId;
      static const unsigned int   fgPCDataElemId;
      static const XMLCh          fgPCDataElemName[];
  
  
  
      // -----------------------------------------------------------------------
      //  Destructor
      // -----------------------------------------------------------------------
      /** @name Destructor */
      //@{
      virtual ~XMLElementDecl();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual element decl interface
      // -----------------------------------------------------------------------
  
      /** @name Virual ElementDecl interface */
      //@{
  
      /** Find an attribute by name or optionally fault it in.
        *
        * The derived class should look up the passed attribute in the list of
        * of attributes for this element. If namespaces are enabled, then it
        * should use the uriId/baseName pair, else it should use the qName. The
        * options allow the caller to indicate whether the attribute should be
        * defaulted in if not found. If it is defaulted in, then wasAdded should
        * be set, else it should be cleared. If its not found and the caller does
        * not want defaulting, then return a null pointer.
        *
        * @param  qName       This is the qName of the attribute, i.e. the actual
        *                     lexical name found.
        *
        * @param  uriId       This is the id of the URI of the namespace to which
        *                     this attribute mapped. Only valid if namespaces are
        *                     enabled.
        *
        * @param  baseName    This is the base part of the name, i.e. after any
        *                     prefix.
        *
        * @param  prefix      The prefix, if any, of this attribute's name. If
        *                     this is empty, then uriID is meaningless as well.
        *
        * @param  options     Indicates the lookup options.
        *
        * @param  wasAdded    Should be set if the attribute is faulted in, else
        *                     cleared.
        */
      virtual XMLAttDef* findAttr
      (
          const   XMLCh* const    qName
          , const unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefix
          , const LookupOpts      options
          ,       bool&           wasAdded
      )   const = 0;
  
      /** Get a list of attributes defined for this element.
        *
        * The derived class should return a reference to some member object which
        * implements the XMLAttDefList interface. This object gives the scanner the
        * ability to look through the attributes defined for this element.
        *
        * It is done this way for efficiency, though of course this is not thread
        * safe. The scanner guarantees that it won't ever call this method in any
        * nested way, but the outside world must be careful about when it calls
        * this method, and optimally never would.
        */
      virtual XMLAttDefList& getAttDefList() const = 0;
  
      /** The character data options for this element type
        *
        * The derived class should return an appropriate character data opts value
        * which correctly represents its tolerance towards whitespace or character
        * data inside of its instances. This allows the scanner to do all of the
        * validation of character data.
        */
      virtual CharDataOpts getCharDataOpts() const = 0;
  
      /** Indicate whether this element type defined any attributes
        *
        * The derived class should return a boolean that indicates whether this
        * element has any attributes defined for it or not. This is an optimization
        * that allows the scanner to skip some work if no attributes exist.
        */
      virtual bool hasAttDefs() const = 0;
  
      /** Reset the flags on the attribute definitions.
        *
        * This method is called by the scanner at the beginning of each scan
        * of a start tag, asking this element decl to reset the 'declared' flag
        * of each of its attribute defs. This allows the scanner to mark each
        * one as declared yet or not.
        */
      virtual bool resetDefs() = 0;
  
      /** Get a pointer to the content spec node
        *
        * This method will return a const pointer to the content spec node object
        * of this element.
        *
        * @return A const pointer to the element's content spec node
        */
      virtual const ContentSpecNode* getContentSpec() const = 0;
  
      /** Get a pointer to the content spec node
        *
        * This method is identical to the previous one, except that it is non
        * const.
        */
      virtual ContentSpecNode* getContentSpec() = 0;
  
      /** Set the content spec node object for this element type
        *
        * This method will adopt the based content spec node object. This is called
        * by the actual validator which is parsing its DTD or Schema or whatever
        * and store it on the element decl object via this method.
        *
        * @param  toAdopt This method will adopt the passed content node spec
        *         object. Any previous object is destroyed.
        */
      virtual void setContentSpec(ContentSpecNode* toAdopt) = 0;
      
      /** Get a pointer to the abstract content model
        *
        * This method will return a const pointer to the content model object
        * of this element. This class is a simple abstraction that allows an
        * element to define and use multiple, specialized content model types
        * internally but still allow the outside world to do simple stuff with
        * them.
        *
        * @return A pointer to the element's content model, via the basic
        * abstract content model type.
        */
      virtual XMLContentModel* getContentModel() = 0;    
      
      /** Set the content model object for this element type
        *
        * This method will adopt the based content model object. This is called
        * by the actual validator which is parsing its DTD or Schema or whatever
        * a creating an element decl. It will build what it feels is the correct
        * content model type object and store it on the element decl object via
        * this method.
        *
        * @param  newModelToAdopt This method will adopt the passed content model
        *         object. Any previous object is destroyed.
        */
      virtual void setContentModel(XMLContentModel* const newModelToAdopt) = 0;    
      
      /** Geta formatted string of the content model
        *
        * This method is a convenience method which will create a formatted
        * representation of the content model of the element. It will not always
        * exactly recreate the original model, since some normalization or
        * or reformatting may occur. But, it will be a technically accurate
        * representation of the original content model.
        *
        * @return A pointer to an internal buffer which contains the formatted
        *         content model. The caller does not own this buffer and should
        *         copy it if it needs to be kept around.
        */
      virtual const XMLCh* getFormattedContentModel ()   const = 0;    
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /** Get the base name of this element type.
        *
        * Return the base name part of the element's name. This is the
        * same regardless of whether namespaces are enabled or not.
        *
        * @return A const pointer to the base name of the element decl.
        */
      const XMLCh* getBaseName() const;
      XMLCh* getBaseName();
  
      /** Get the URI id of this element type.
        *
        * Return the URI Id of this element.
        *
        * @return The URI Id of the element decl, or the emptyNamespaceId if not applicable.
        */
      const unsigned int getURI() const;
  
      /** Get the QName of this element type.
        *
        * Return the QName part of the element's name.  This is the
        * same regardless of whether namespaces are enabled or not.
        *
        * @return A const pointer to the QName of the element decl.
        */
      const QName* getElementName() const;
      QName* getElementName();
  
      /** Get the full name of this element type.
        *
        * Return the full name of the element. If namespaces
        * are not enabled, then this is the qName. Else it is the {uri}baseName
        * form. For those validators that always require namespace processing, it
        * will always be in the latter form because namespace processing will always
        * be on.
        */
      const XMLCh* getFullName() const;
  
      /** Get the create reason for this element type
        *
        * This method returns an enumeration which indicates why this element
        * declaration exists. Elements can be used before they are actually
        * declared, so they will often be faulted into the pool and marked as
        * to why they are there.
        *
        * @return An enumerated value that indicates the reason why this element
        * was added to the element decl pool.
        */
  
      CreateReasons getCreateReason() const;
  
      /** Get the element decl pool id for this element type
        *
        * This method will return the element decl pool id of this element
        * declaration. This uniquely identifies this element type within the
        * parse event that it is declared within. This value is assigned by the
        * grammar whose decl pool this object belongs to.
        *
        * @return The element decl id of this element declaration.
        */
      unsigned int getId() const;
  
      /** Indicate whether this element type has been declared yet
        *
        * This method returns a boolean that indicates whether this element
        * has been declared yet. There are a number of reasons why an element
        * declaration can be faulted in, but eventually it must be declared or
        * its an error. See the CreateReasons enumeration.
        *
        * @return true if this element has been declared, else false.
        */
      bool isDeclared() const;
  
      /** Indicate whether this element type has been declared externally
        *
        * This method returns a boolean that indicates whether this element
        * has been declared externally.
        *
        * @return true if this element has been declared externally, else false.
        */
  
      bool isExternal() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /** Set the element name object for this element type
        *
        * This method will adopt the based content spec node object. This is called
        * by the actual validator which is parsing its DTD or Schema or whatever
        * and store it on the element decl object via this method.
        *
        * @param  prefix       Prefix of the element
        * @param  localPart    Base Name of the element
        * @param  uriId        The uriId of the element
        */
        void setElementName(const XMLCh* const       prefix
                          , const XMLCh* const       localPart
                          , const int                uriId );
  
      /** Set the element name object for this element type
        *
        * This method will adopt the based content spec node object. This is called
        * by the actual validator which is parsing its DTD or Schema or whatever
        * and store it on the element decl object via this method.
        *
        * @param  rawName      Full Name of the element
        * @param  uriId        The uriId of the element
        */
        void setElementName(const XMLCh* const    rawName
                          , const int             uriId );
  
      /** Set the element name object for this element type
        *
        * This method will adopt the based content spec node object. This is called
        * by the actual validator which is parsing its DTD or Schema or whatever
        * and store it on the element decl object via this method.
        *
        * @param  elementName  QName of the element
        */
        void setElementName(const QName* const    elementName);
  
      /** Update the create reason for this element type.
        *
        * This method will update the 'create reason' field for this element
        * decl object. As the validator parses its DTD, Schema, etc... it will
        * encounter various references to an element declaration, which will
        * cause the element declaration to either be declared or to be faulted
        * into the pool in preperation for some future declaration. As it does
        * so,it will update this field to indicate the current satus of the
        * decl object.
        */
      void setCreateReason(const CreateReasons newReason);
  
      /** Set the element decl pool id for this element type
        *
        * This method will set the pool id of this element decl. This is called
        * by the grammar which created this object, and will provide this
        * decl object with a unique id within the parse event that created it.
        */
      void setId(const unsigned int newId);
  
  
      /** Set the element decl to indicate external declaration
        *
        */
      void setExternalElemDeclaration(const bool aValue);
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
  
      /** @name Miscellenous methods */
      //@{
  
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLElementDecl();
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLElementDecl(const XMLElementDecl&);
      void operator=(const XMLElementDecl&);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fElementName
      //      This is the name of the element decl.
      //
      //  fCreateReason
      //      We sometimes have to put an element decl object into the elem
      //      decl pool before the element's declaration is seen, such as when
      //      its used in another element's content model or an att list is
      //      seen for it. This flag tells us whether its been declared, and
      //      if not why it had to be created.
      //
      //  fId
      //      The unique id of this element. This is created by the derived
      //      class, or more accurately the grammar that owns the objects
      //      of the derived types. But, since they all have to have them, we
      //      let them all store the id here. It is defaulted to have the
      //      value fgInvalidElem until explicitly set.
      //
      //  fExternalElement
      //      This flag indicates whether or the element was declared externally.
      // -----------------------------------------------------------------------
      QName*              fElementName;
      CreateReasons       fCreateReason;
      unsigned int        fId;
      bool                fExternalElement;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLElementDecl: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLElementDecl::getBaseName() const
  {
      return fElementName->getLocalPart();
  }
  
  inline XMLCh* XMLElementDecl::getBaseName()
  {
      return fElementName->getLocalPart();
  }
  
  inline const unsigned int XMLElementDecl::getURI() const
  {
      return fElementName->getURI();
  }
  
  inline const QName* XMLElementDecl::getElementName() const
  {
      return fElementName;
  }
  
  inline QName* XMLElementDecl::getElementName()
  {
      return fElementName;
  }
  
  inline const XMLCh* XMLElementDecl::getFullName() const
  {
      return fElementName->getRawName();
  }
  
  inline XMLElementDecl::CreateReasons XMLElementDecl::getCreateReason() const
  {
      return fCreateReason;
  }
  
  inline unsigned int XMLElementDecl::getId() const
  {
      return fId;
  }
  
  inline bool XMLElementDecl::isDeclared() const
  {
      return (fCreateReason == Declared);
  }
  
  
  inline bool XMLElementDecl::isExternal() const
  {
      return fExternalElement;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLElementDecl: Setter methods
  // ---------------------------------------------------------------------------
  inline void
  XMLElementDecl::setCreateReason(const XMLElementDecl::CreateReasons newReason)
  {
      fCreateReason = newReason;
  }
  
  inline void XMLElementDecl::setId(const unsigned int newId)
  {
      fId = newId;
  }
  
  
  inline void XMLElementDecl::setExternalElemDeclaration(const bool aValue)
  {
      fExternalElement = aValue;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLEntityDecl.hpp
  
  Index: XMLEntityDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLEntityDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/16 23:03:48  roddey
   * More documentation updates
   *
   * Revision 1.4  2000/02/16 21:42:58  aruna1
   * API Doc++ summary changes in
   *
   * Revision 1.3  2000/02/15 01:21:30  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:48  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:32  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:38  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLENTITYDECL_HPP)
  #define XMLENTITYDECL_HPP
  
  #include <util/XMLString.hpp>
  
  /**
   *  This class defines that core information that defines an XML entity, no
   *  matter what validator is used. Each validator will create a derivative
   *  of this class which adds any extra information it requires.
   *
   *  This class supports keyed collection semantics via the getKey() method
   *  which extracts the key field, the entity name in this case. The name will
   *  have whatever form is deemed appropriate for the type of validator in
   *  use.
   *
   *  When setting the fields of this class, you must make sure that you do
   *  not set conflicting values. For instance, an internal entity cannot have
   *  a notation name. And an external entity cannot have a value string.
   *  These rules are defined by the XML specification. In most cases, these
   *  objects are created by validator objects as they parse a DTD or Schema
   *  or whatever, at which time they confirm the correctness of the data before
   *  creating the entity decl object.
   */
  class XMLPARSER_EXPORT XMLEntityDecl
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors */
      //@{
      
      /**
        *  Deafult Constructor
        */
      XMLEntityDecl();
  
      /** Constructor with a const entity name
        *
        * @param  entName The new name to give to this entity.
        */
      XMLEntityDecl
      (
          const   XMLCh* const    entName
      );
      
      /**
        * Constructor with a const entity name and value
        *
        * @param  entName The new name to give to this entity.
        * @param  value   The new value to give to this entity name.
        */
      XMLEntityDecl
      (
          const   XMLCh* const    entName
          , const XMLCh* const    value
      );
  
      /**
        * Constructor with a const entity name and single XMLCh value
        *
        * @param  entName The new name to give to this entity.
        * @param  value   The new value to give to this entity name.
        */
      XMLEntityDecl
      (
          const   XMLCh* const    entName
          , const XMLCh           value
      );
      //@}
  
      /** @name Destructor */
      //@{
  
      /**
        *  Default destructor
        */
      virtual ~XMLEntityDecl();
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Virtual entity decl interface
      // -----------------------------------------------------------------------
  
      /** @name The pure virtual methods in this interface. */
      //@{
  
      /** Get the 'declared in internal subset' flag
        *
        * Gets the state of the flag which indicates whether the entity was
        * declared in the internal or external subset. Some structural 
        * description languages might not have an internal subset concept, in
        * which case this will always return false.
        */
      virtual bool getDeclaredInIntSubset() const = 0;
  
      /** Get the 'is parameter entity' flag
        *
        * Gets the state of the flag which indicates whether this entity is
        * a parameter entity. If not, then its a general entity.
        */
      virtual bool getIsParameter() const = 0;
  
      /** Get the 'is special char entity' flag
        *
        * Gets the state of the flag that indicates whether this entity is
        * one of the special, intrinsically supported character entities.
        */
      virtual bool getIsSpecialChar() const = 0;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /**
        * Gets the pool id of this entity. Validators maintain all decls in 
        * pools, from which they can be quickly extracted via id.
        */
      unsigned int getId() const;
  
      /**
        * Returns a const pointer to the name of this entity decl. This name
        * will be in whatever format is appropriate for the type of validator
        * in use.
        */
      const XMLCh* getName() const;
  
      /**
        * Gets the notation name, if any, declared for this entity. If this
        * entity is not a notation type entity, it will be a null pointer.
        */
      const XMLCh* getNotationName() const;
  
      /**
        * Gets the public id declared for this entity. Public ids are optional
        * so it can be a null pointer.
        */
      const XMLCh* getPublicId() const;
  
      /**
        * Gets the system id declared for this entity. The system id is required
        * so this method should never return a null pointers.
        */
      const XMLCh* getSystemId() const;
  
      /**
        * This method returns the value of an internal entity. If this is not
        * an internal entity (i.e. its external), then this will be a null
        * pointer.
        */
      const XMLCh* getValue() const;
  
      /**
       *  This method returns the number of characters in the value returned
       *  by getValue(). If this entity is external, this will be zero since
       *  an external entity has no internal value.
       */
      unsigned int getValueLen() const;
  
      /**
        * Indicates that this entity is an external entity. If not, then it is
        * assumed to be an internal entity, suprise.
        */
      bool isExternal() const;
  
      /**
        * Indicates whether this entity is unparsed. This is meaningless for
        * internal entities. Some external entities are unparsed in that they
        * refer to something other than XML source.
        */
      bool isUnparsed() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /**
       *  This method will set the entity name. The format of this name is
       *  defined by the particular validator in use, since it will be the
       *  one who creates entity definitions as it parses the DTD, Schema,
       *  ect...
       *
       *  @param  entName   The new name to give to this entity.
       */
      void setName
      (
          const   XMLCh* const    entName
      );
  
      /**
       *  This method will set the notation name for this entity. By setting
       *  this, you are indicating that this is an unparsed external entity.
       *
       *  @param  newName   The new notation name to give to this entity.
       */
      void setNotationName(const XMLCh* const newName);
  
      /**
       *  This method will set a new public id on this entity. The public id
       *  has no particular form and is purely for client consumption.
       *
       *  @param  newId     The new public id to give to this entity.
       */
      void setPublicId(const XMLCh* const newId);
  
      /**
       *  This method will set a new sysetm id on this entity. This will
       *  then control where the source for this entity lives. If it is
       *  an internal entity, then the system id is only for bookkeeping
       *  purposes, and to allow any external entities referenced from
       *  within the entity to be correctly resolved.
       *
       *  @param  newId     The new system id to give to the entity.
       */
      void setSystemId(const XMLCh* const newId);
  
      /**
       *  This method will set a new value for this entity. This is only
       *  valid if the entity is to be an internal entity. By setting this
       *  field, you are indicating that the entity is internal.
       *
       *  @param  newValue  The new value to give to this entity.
       */
      void setValue(const XMLCh* const newValue);
  
      //@}
  
      /* For internal use only */
      void setId(const unsigned int newId);
  
  
      // -----------------------------------------------------------------------
      //  Support named pool syntax
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /**
        * This method allows objects of this class to be used within a standard
        * keyed collection used commonly within the parser system. The collection
        * calls this method to get the key (usually to hash it) by which the
        * object is to be stored.
        */
      const XMLCh* getKey() const;
  
      //@}
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLEntityDecl(const XMLEntityDecl&);
      void operator=(XMLEntityDecl&);
  
  
      // -----------------------------------------------------------------------
      //  XMLEntityDecl: Private helper methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fId
      //      This is the unique id given to this entity decl.
      //
      //  fName
      //      The name of the enitity. Entity names are never namespace based.
      //
      //  fNotationName
      //      The optional notation of the entity. If there was none, then its
      //      empty.
      //
      //  fPublicId
      //      The public id of the entity, which can be empty.
      //
      //  fSystemId
      //      The system id of the entity.
      //
      //  fValue
      //  fValueLen
      //      The entity's value and length, which is only valid if its an
      //      internal style entity.
      // -----------------------------------------------------------------------
      unsigned int    fId;
  	XMLCh*          fName;
      XMLCh*          fNotationName;
      XMLCh*          fPublicId;
      XMLCh*          fSystemId;
      XMLCh*          fValue;
      unsigned int    fValueLen;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLEntityDecl: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int XMLEntityDecl::getId() const
  {
      return fId;
  }
  
  inline const XMLCh* XMLEntityDecl::getName() const
  {
      return fName;
  }
  
  inline const XMLCh* XMLEntityDecl::getNotationName() const
  {
      return fNotationName;
  }
  
  inline const XMLCh* XMLEntityDecl::getPublicId() const
  {
      return fPublicId;
  }
  
  inline const XMLCh* XMLEntityDecl::getSystemId() const
  {
      return fSystemId;
  }
  
  inline const XMLCh* XMLEntityDecl::getValue() const
  {
      return fValue;
  }
  
  inline unsigned int XMLEntityDecl::getValueLen() const
  {
      return fValueLen;
  }
  
  inline bool XMLEntityDecl::isExternal() const
  {
      // If it has a system or public id, its external
      return ((fPublicId != 0) || (fSystemId != 0));
  }
  
  inline bool XMLEntityDecl::isUnparsed() const
  {
      // If it has a notation, its unparsed
      return (fNotationName != 0);
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLEntityDecl: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLEntityDecl::setId(const unsigned int newId)
  {
      fId = newId;
  }
  
  inline void XMLEntityDecl::setNotationName(const XMLCh* const newName)
  {
      delete [] fNotationName;
      fNotationName = XMLString::replicate(newName);
  }
  
  inline void XMLEntityDecl::setPublicId(const XMLCh* const newId)
  {
      delete [] fPublicId;
      fPublicId = XMLString::replicate(newId);
  }
  
  inline void XMLEntityDecl::setSystemId(const XMLCh* const newId)
  {
      delete [] fSystemId;
      fSystemId = XMLString::replicate(newId);
  }
  
  inline void XMLEntityDecl::setValue(const XMLCh* const newValue)
  {
      delete [] fValue;
      fValue = XMLString::replicate(newValue);
      fValueLen = XMLString::stringLen(newValue);
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLEntityDecl: Support named pool syntax
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLEntityDecl::getKey() const
  {
      return fName;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLEntityHandler.hpp
  
  Index: XMLEntityHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
   /*
    * $Log: XMLEntityHandler.hpp,v $
    * Revision 1.1  2002/03/22 00:41:51  sanjiva
    * added c++ contribution from Sri Lanka
    *
    * Revision 1.7  2000/03/02 19:54:25  roddey
    * This checkin includes many changes done while waiting for the
    * 1.1.0 code to be finished. I can't list them all here, but a list is
    * available elsewhere.
    *
    * Revision 1.6  2000/02/24 20:00:23  abagchi
    * Swat for removing Log from API docs
    *
    * Revision 1.5  2000/02/16 21:42:58  aruna1
    * API Doc++ summary changes in
    *
    * Revision 1.4  2000/02/15 01:21:31  roddey
    * Some initial documentation improvements. More to come...
    *
    * Revision 1.3  2000/02/06 07:47:48  rahulj
    * Year 2K copyright swat.
    *
    * Revision 1.2  1999/12/15 19:46:28  roddey
    * Got rid of redundant 'const' on bool return value. Some compilers choke on this
    * and its not useful anyway.
    *
    * Revision 1.1.1.1  1999/11/09 01:08:33  twl
    * Initial checkin
    *
    * Revision 1.2  1999/11/08 20:44:38  rahul
    * Swat for adding in Product name and CVS comment log variable.
    *
    */
  
  
  #if !defined(XMLENTITYHANDLER_HPP)
  #define XMLENTITYHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class InputSource;
  class XMLBuffer;
  
  
  /**
   *  This abstract class is a callback mechanism for the scanner. By creating
   *  a derivative of this class and plugging into the scanner, the scanner
   *  will call back on the object's methods to entity events.
   *
   *  This class is primarily for use by those writing their own parser classes.
   *  If you use the standard parser classes, DOMParser and SAXParser, you won't
   *  use this API. You will instead use a similar mechanism defined by the SAX
   *  API, called EntityResolver.
   */
  class XMLPARSER_EXPORT XMLEntityHandler
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors are hidden, only the virtual destructor is exposed
      // -----------------------------------------------------------------------
  
      /** @name Destructor */
      //@{
      
      /**
        * Default destructor
        */
      virtual ~XMLEntityHandler()
      {
      }
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual entity handler interface
      // -----------------------------------------------------------------------
      /** @name The pure virtual methods in this interface. */
      //@{
  
      /**
        * This method get called after the scanner has finished reading from
        * the given input source while processing external entity references.
        *
        * @param inputSource The input source for the entity
        */
      virtual void endInputSource(const InputSource& inputSource) = 0;
  
      /**
        * This method allows the passes the scanned systemId to the entity
        * handler, thereby giving it a chance to provide any customized
        * handling like resolving relative path names. The scanner first
        * calls this method before calling <code>resolveEntity</code>.
        *
        * @param systemId The system id extracted by the scanner from the
        *                 input source.
        * @param toFill The buffer in which the fully expanded system id needs
        *               to be stored.
        */
      virtual bool expandSystemId
      (
          const   XMLCh* const    systemId
          ,       XMLBuffer&      toFill
      ) = 0;
  
      /**
        * This method allows the entity handler to reset itself, so that
        * it can be used again. It is called prior to a new document parse
        * operation.
        */
      virtual void resetEntities() = 0;
  
      /**
        * This method allows the entity handler to provide customized
        * application specific entity resolution. This method is defined
        * by SAX 1.0 API.
        *
        * @param systemId The system id of the external entity reference. 
        * @param publicId The public id of the external entity reference.
        */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      ) = 0;
  
      /**
        * This method will be called before the scanner starts reading
        * from an input source while processing external entity references.
        *
        * @param inputSource The external input source.
        */
      virtual void startInputSource(const InputSource& inputSource) = 0;
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden Constructors
      // -----------------------------------------------------------------------
      /** @name Constructor */
      //@{
      
      /**
        * Protected default constructor
        */
      XMLEntityHandler()
      {
      }
      //@}
  
  
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and destructor
      // -----------------------------------------------------------------------
      XMLEntityHandler(const XMLEntityHandler&);
      void operator=(const XMLEntityHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLErrorCodes.hpp
  
  Index: XMLErrorCodes.hpp
  ===================================================================
  // This file is generated, don't edit it!!
  
  #if !defined(ERRHEADER_XMLErrs)
  #define ERRHEADER_XMLErrs
  
  #include <framework/XMLErrorReporter.hpp>
  
  class XMLErrs
  {
  public :
      enum Codes
      {
          NoError                            = 0
        , W_LowBounds                        = 1
        , NotationAlreadyExists              = 2
        , AttListAlreadyExists               = 3
        , ContradictoryEncoding              = 4
        , UndeclaredElemInCM                 = 5
        , UndeclaredElemInAttList            = 6
        , W_HighBounds                       = 7
        , E_LowBounds                        = 8
        , FeatureUnsupported                 = 9
        , TopLevelNoNameComplexType          = 10
        , TopLevelNoNameAttribute            = 11
        , NoNameRefAttribute                 = 12
        , GlobalNoNameElement                = 13
        , NoNameRefElement                   = 14
        , NoNameRefGroup                     = 15
        , NoNameRefAttGroup                  = 16
        , AnonComplexTypeWithName            = 17
        , AnonSimpleTypeWithName             = 18
        , InvalidElementContent              = 19
        , UntypedElement                     = 20
        , SimpleTypeContentError             = 21
        , ExpectedSimpleTypeInList           = 22
        , ListUnionRestrictionError          = 23
        , SimpleTypeDerivationByListError    = 24
        , ExpectedSimpleTypeInRestriction    = 25
        , DuplicateFacet                     = 26
        , ExpectedSimpleTypeInUnion          = 27
        , EmptySimpleTypeContent             = 28
        , InvalidSimpleContent               = 29
        , UnspecifiedBase                    = 30
        , InvalidComplexContent              = 31
        , SchemaElementContentError          = 32
        , ContentError                       = 33
        , UnknownSimpleType                  = 34
        , UnknownComplexType                 = 35
        , UnresolvedPrefix                   = 36
        , RefElementNotFound                 = 37
        , TypeNotFound                       = 38
        , TopLevelAttributeNotFound          = 39
        , InvalidChildInComplexType          = 40
        , BaseTypeNotFound                   = 41
        , NoAttributeInSchema                = 42
        , DatatypeValidatorCreationError     = 43
        , InvalidChildFollowingSimpleContent   = 44
        , InvalidChildFollowingConplexContent   = 45
        , InvalidComplexTypeBlockValue       = 46
        , InvalidComplexTypeFinalValue       = 47
        , AttributeDefaultFixedValue         = 48
        , NotOptionalDefaultAttValue         = 49
        , LocalAttributeWithNameRef          = 50
        , GlobalAttributeWithNameRef         = 51
        , DuplicateAttribute                 = 52
        , AttributeWithTypeAndSimpleType     = 53
        , AttributeSimpleTypeNotFound        = 54
        , ElementWithFixedAndDefault         = 55
        , DeclarationWithNameRef             = 56
        , BadAttWithRef                      = 57
        , InvalidDeclarationName             = 58
        , GlobalElementWithRef               = 59
        , ElementWithTypeAndAnonType         = 60
        , NotSimpleOrMixedElement            = 61
        , DisallowedSimpleTypeExtension      = 62
        , InvalidSimpleContentBase           = 63
        , InvalidComplexTypeBase             = 64
        , InvalidChildInSimpleContent        = 65
        , InvalidChildInComplexContent       = 66
        , AnnotationError                    = 67
        , DisallowedBaseDerivation           = 68
        , SubstitutionRepeated               = 69
        , UnionRepeated                      = 70
        , ExtensionRepeated                  = 71
        , ListRepeated                       = 72
        , RestrictionRepeated                = 73
        , InvalidBlockValue                  = 74
        , InvalidFinalValue                  = 75
        , InvalidSubstitutionGroupElement    = 76
        , SubstitutionGroupTypeMismatch      = 77
        , DuplicateElementDeclaration        = 78
        , InvalidElementBlockValue           = 79
        , InvalidElementFinalValue           = 80
        , InvalidAttValue                    = 81
        , AttributeRefContentError           = 82
        , DuplicateRefAttribute              = 83
        , ForbiddenDerivationByRestriction   = 84
        , ForbiddenDerivationByExtension     = 85
        , BaseNotComplexType                 = 86
        , ImportNamespaceDifference          = 87
        , ImportRootError                    = 88
        , DeclarationNoSchemaLocation        = 89
        , IncludeNamespaceDifference         = 90
        , OnlyAnnotationExpected             = 91
        , InvalidAttributeContent            = 92
        , AttributeRequired                  = 93
        , AttributeDisallowed                = 94
        , InvalidMin2MaxOccurs               = 95
        , AnyAttributeContentError           = 96
        , NoNameGlobalElement                = 97
        , NoCircularDefinition               = 98
        , DuplicateGlobalType                = 99
        , DuplicateGlobalDeclaration         = 100
        , WS_CollapseExpected                = 101
        , Import_1_1                         = 102
        , Import_1_2                         = 103
        , ElemIDValueConstraint              = 104
        , NoNotationType                     = 105
        , EmptiableMixedContent              = 106
        , EmptyComplexRestrictionDerivation   = 107
        , MixedOrElementOnly                 = 108
        , InvalidContentRestriction          = 109
        , ForbiddenDerivation                = 110
        , AtomicItemType                     = 111
        , MemberTypeNoUnion                  = 112
        , GroupContentError                  = 113
        , AttGroupContentError               = 114
        , MinMaxOnGroupChild                 = 115
        , DeclarationNotFound                = 116
        , AllContentLimited                  = 117
        , BadMinMaxAllCT                     = 118
        , BadMinMaxAllElem                   = 119
        , NoCircularAttGroup                 = 120
        , DuplicateAttInDerivation           = 121
        , NotExpressibleWildCardIntersection   = 122
        , BadAttDerivation_1                 = 123
        , BadAttDerivation_2                 = 124
        , BadAttDerivation_3                 = 125
        , BadAttDerivation_4                 = 126
        , BadAttDerivation_5                 = 127
        , BadAttDerivation_6                 = 128
        , BadAttDerivation_7                 = 129
        , AllContentError                    = 130
        , RedefineNamespaceDifference        = 131
        , Redefine_InvalidSimpleType         = 132
        , Redefine_InvalidSimpleTypeBase     = 133
        , Redefine_InvalidComplexType        = 134
        , Redefine_InvalidComplexTypeBase    = 135
        , Redefine_InvalidGroupMinMax        = 136
        , Redefine_DeclarationNotFound       = 137
        , Redefine_GroupRefCount             = 138
        , Redefine_AttGroupRefCount          = 139
        , Notation_InvalidDecl               = 140
        , Notation_DeclNotFound              = 141
        , DisplayErrorMessage                = 142
        , E_HighBounds                       = 143
        , F_LowBounds                        = 144
        , ExpectedCommentOrCDATA             = 145
        , ExpectedAttrName                   = 146
        , ExpectedNotationName               = 147
        , NoRepInMixed                       = 148
        , BadDefAttrDecl                     = 149
        , ExpectedDefAttrDecl                = 150
        , AttListSyntaxError                 = 151
        , ExpectedEqSign                     = 152
        , DupAttrName                        = 153
        , BadIdForXMLLangAttr                = 154
        , ExpectedElementName                = 155
        , MustStartWithXMLDecl               = 156
        , CommentsMustStartWith              = 157
        , InvalidDocumentStructure           = 158
        , ExpectedDeclString                 = 159
        , BadXMLVersion                      = 160
        , UnsupportedXMLVersion              = 161
        , UnterminatedXMLDecl                = 162
        , BadXMLEncoding                     = 163
        , BadStandalone                      = 164
        , UnterminatedComment                = 165
        , PINameExpected                     = 166
        , UnterminatedPI                     = 167
        , InvalidCharacter                   = 168
        , UnexpectedTextBeforeRoot           = 169
        , UnterminatedStartTag               = 170
        , ExpectedAttrValue                  = 171
        , UnterminatedEndTag                 = 172
        , ExpectedAttributeType              = 173
        , ExpectedEndOfTagX                  = 174
        , ExpectedMarkup                     = 175
        , NotValidAfterContent               = 176
        , ExpectedComment                    = 177
        , ExpectedCommentOrPI                = 178
        , ExpectedWhitespace                 = 179
        , NoRootElemInDOCTYPE                = 180
        , ExpectedQuotedString               = 181
        , ExpectedPublicId                   = 182
        , InvalidPublicIdChar                = 183
        , UnterminatedDOCTYPE                = 184
        , InvalidCharacterInIntSubset        = 185
        , ExpectedCDATA                      = 186
        , InvalidInitialNameChar             = 187
        , InvalidNameChar                    = 188
        , UnexpectedWhitespace               = 189
        , InvalidCharacterInAttrValue        = 190
        , ExpectedMarkupDecl                 = 191
        , TextDeclNotLegalHere               = 192
        , ConditionalSectInIntSubset         = 193
        , ExpectedPEName                     = 194
        , UnterminatedEntityDecl             = 195
        , InvalidCharacterRef                = 196
        , UnterminatedCharRef                = 197
        , ExpectedEntityRefName              = 198
        , EntityNotFound                     = 199
        , NoUnparsedEntityRefs               = 200
        , UnterminatedEntityRef              = 201
        , RecursiveEntity                    = 202
        , PartialMarkupInEntity              = 203
        , UnterminatedElementDecl            = 204
        , ExpectedContentSpecExpr            = 205
        , ExpectedAsterisk                   = 206
        , UnterminatedContentModel           = 207
        , ExpectedSystemId                   = 208
        , ExpectedSystemOrPublicId           = 209
        , UnterminatedNotationDecl           = 210
        , ExpectedSeqChoiceLeaf              = 211
        , ExpectedChoiceOrCloseParen         = 212
        , ExpectedSeqOrCloseParen            = 213
        , ExpectedEnumValue                  = 214
        , ExpectedEnumSepOrParen             = 215
        , UnterminatedEntityLiteral          = 216
        , MoreEndThanStartTags               = 217
        , ExpectedOpenParen                  = 218
        , AttrAlreadyUsedInSTag              = 219
        , BracketInAttrValue                 = 220
        , Expected2ndSurrogateChar           = 221
        , ExpectedEndOfConditional           = 222
        , ExpectedIncOrIgn                   = 223
        , ExpectedINCLUDEBracket             = 224
        , ExpectedTextDecl                   = 225
        , ExpectedXMLDecl                    = 226
        , UnexpectedEOE                      = 227
        , PEPropogated                       = 228
        , ExtraCloseSquare                   = 229
        , PERefInMarkupInIntSubset           = 230
        , EntityPropogated                   = 231
        , ExpectedNumericalCharRef           = 232
        , ExpectedOpenSquareBracket          = 233
        , BadSequenceInCharData              = 234
        , IllegalSequenceInComment           = 235
        , UnterminatedCDATASection           = 236
        , ExpectedNDATA                      = 237
        , NDATANotValidForPE                 = 238
        , HexRadixMustBeLowerCase            = 239
        , DeclStringRep                      = 240
        , DeclStringsInWrongOrder            = 241
        , NoExtRefsInAttValue                = 242
        , XMLDeclMustBeLowerCase             = 243
        , ExpectedEntityValue                = 244
        , BadDigitForRadix                   = 245
        , EndedWithTagsOnStack               = 246
        , AmbiguousContentModel              = 247
        , NestedCDATA                        = 248
        , UnknownPrefix                      = 249
        , PartialTagMarkupError              = 250
        , EmptyMainEntity                    = 251
        , CDATAOutsideOfContent              = 252
        , OnlyCharRefsAllowedHere            = 253
        , Unexpected2ndSurrogateChar         = 254
        , NoPIStartsWithXML                  = 255
        , XMLDeclMustBeFirst                 = 256
        , XMLVersionRequired                 = 257
        , StandaloneNotLegal                 = 258
        , EncodingRequired                   = 259
        , TooManyColonsInName                = 260
        , InvalidColonPos                    = 261
        , ColonNotLegalWithNS                = 262
        , SysException                       = 263
        , XMLException                       = 264
        , UnexpectedEOF                      = 265
        , UnexpectedError                    = 266
        , BadSchemaLocation                  = 267
        , NoGrammarResolver                  = 268
        , SchemaScanFatalError               = 269
        , F_HighBounds                       = 270
      };
  
      static bool isFatal(const XMLErrs::Codes toCheck)
      {
          return ((toCheck >= F_LowBounds) && (toCheck <= F_HighBounds));
      }
  
      static bool isWarning(const XMLErrs::Codes toCheck)
      {
          return ((toCheck >= W_LowBounds) && (toCheck <= W_HighBounds));
      }
  
      static bool isError(const XMLErrs::Codes toCheck)
      {
          return ((toCheck >= E_LowBounds) && (toCheck <= E_HighBounds));
      }
  
      static XMLErrorReporter::ErrTypes errorType(const XMLErrs::Codes toCheck)
      {
         if ((toCheck >= W_LowBounds) && (toCheck <= W_HighBounds))
             return XMLErrorReporter::ErrType_Warning;
         else if ((toCheck >= F_LowBounds) && (toCheck <= F_HighBounds))
              return XMLErrorReporter::ErrType_Fatal;
         else if ((toCheck >= E_LowBounds) && (toCheck <= E_HighBounds))
              return XMLErrorReporter::ErrType_Error;
         return XMLErrorReporter::ErrTypes_Unknown;
      }
  };
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLErrorReporter.hpp
  
  Index: XMLErrorReporter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
   /*
    * $Log: XMLErrorReporter.hpp,v $
    * Revision 1.1  2002/03/22 00:41:51  sanjiva
    * added c++ contribution from Sri Lanka
    *
    * Revision 1.11  2001/05/11 13:25:32  tng
    * Copyright update.
    *
    * Revision 1.10  2001/05/03 19:08:56  knoaman
    * Support Warning/Error/FatalError messaging.
    * Validity constraints errors are treated as errors, with the ability by user to set
    * validity constraints as fatal errors.
    *
    * Revision 1.9  2000/12/14 18:49:57  tng
    * Fix API document generation warning: "Warning: end of member group without matching begin"
    *
    * Revision 1.8  2000/03/02 19:54:25  roddey
    * This checkin includes many changes done while waiting for the
    * 1.1.0 code to be finished. I can't list them all here, but a list is
    * available elsewhere.
    *
    * Revision 1.7  2000/02/24 20:00:23  abagchi
    * Swat for removing Log from API docs
    *
    * Revision 1.6  2000/02/16 23:03:48  roddey
    * More documentation updates
    *
    * Revision 1.5  2000/02/16 21:42:58  aruna1
    * API Doc++ summary changes in
    *
    * Revision 1.4  2000/02/15 23:59:07  roddey
    * More updated documentation of Framework classes.
    *
    * Revision 1.3  2000/02/15 01:21:31  roddey
    * Some initial documentation improvements. More to come...
    *
    * Revision 1.2  2000/02/06 07:47:48  rahulj
    * Year 2K copyright swat.
    *
    * Revision 1.1.1.1  1999/11/09 01:08:34  twl
    * Initial checkin
    *
    * Revision 1.2  1999/11/08 20:44:39  rahul
    * Swat for adding in Product name and CVS comment log variable.
    *
    */
  
  
  #if !defined(XMLERRORREPORTER_HPP)
  #define XMLERRORREPORTER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLMsgLoader.hpp>
  
  
  /**
   *  This abstract class defines a callback mechanism for the scanner. By
   *  creating a class that implements this interface and plugging an instance
   *  of that class into the scanner, the scanner will call back on the object's
   *  virtual methods to report error events. This class is also used with the
   *  validator, to allow it to report errors.
   *
   *  This class is primarily for use by those writing their own parser classes.
   *  If you use the standard parser classes, DOMParser and SAXParser, you won't
   *  use this API. You will instead use a similar mechanism defined by the SAX
   *  API, called ErrorHandler.
   */
  class XMLPARSER_EXPORT XMLErrorReporter
  {
  public:
      // -----------------------------------------------------------------------
      //  The types of errors we can issue
      // -----------------------------------------------------------------------
      enum ErrTypes
      {
          ErrType_Warning
          , ErrType_Error
          , ErrType_Fatal
  
          , ErrTypes_Unknown
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors are hidden, only the virtual destructor is exposed
      // -----------------------------------------------------------------------
  
      /** @name Destructor */
      //@{
  
      /**
        *   Default destructor
        */
      virtual ~XMLErrorReporter()
      {
      }
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The error handler interface
      // -----------------------------------------------------------------------
  
      /** @name Error Handler interface */
      //@{
  
      /** Called to report errors from the scanner or validator
        *
        * This method is called back on by the scanner or validator (or any other
        * internal parser component which might need to report an error in the
        * future.) It contains all the information that the client code might
        * need to report or log the error.
        *
        * @param  errCode     The error code of the error being reported. What
        *                     this means is dependent on the domain it is from.
        *
        * @param  errDomain   The domain from which the error occured. The domain
        *                     is a means of providing a hierarchical layering to
        *                     the error system, so that a single set of error id
        *                     numbers don't have to be split up.
        *
        * @param  type        The error type, which is defined mostly by XML which
        *                     categorizes errors into warning, errors and validity
        *                     constraints.
        *
        * @param  errorText   The actual text of the error. This is translatable,
        *                     so can possibly be in the local language if a
        *                     translation has been provided.
        *
        * @param  sysetmId    The system id of the entity where the error occured,
        *                     fully qualified.
        *
        * @param  publicId    The optional public id of the entity were the error
        *                     occured. It can be an empty string if non was provided.
        *
        * @param  lineNum     The line number within the source XML of the error.
        *
        * @param  colNum      The column number within the source XML of the error.
        *                     Because of the parsing style, this is usually just
        *                     after the actual offending text.
        */
      virtual void error
      (
          const   unsigned int        errCode
          , const XMLCh* const        errDomain
          , const ErrTypes            type
          , const XMLCh* const        errorText
          , const XMLCh* const        systemId
          , const XMLCh* const        publicId
          , const unsigned int        lineNum
          , const unsigned int        colNum
      ) = 0;
  
      /** Called before a new parse event to allow the handler to reset
        *
        * This method is called by the scanner before a new parse event is
        * about to start. It gives the error handler a chance to reset its
        * internal state.
        */
      virtual void resetErrors() = 0;
  
      //@}
  
  
  protected :
  
      /** @name Constructor */
      //@{
  
      /**
        *   Default constructor
        */
      XMLErrorReporter()
      {
      }
      //@}
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and destructor
      // -----------------------------------------------------------------------
      XMLErrorReporter(const XMLErrorReporter&);
      void operator=(const XMLErrorReporter&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLFormatter.hpp
  
  Index: XMLFormatter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLFormatter.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2000/10/17 19:25:38  andyh
   * XMLFormatTarget, removed version of writeChars with no length.  Can not be
   * safely used, and obscured other errors.
   *
   * Revision 1.6  2000/10/10 23:54:58  andyh
   * XMLFormatter patch, contributed by Bill Schindler.  Fix problems with
   * output to multi-byte encodings.
   *
   * Revision 1.5  2000/04/07 01:01:56  roddey
   * Fixed an error message so that it indicated the correct radix for the rep
   * token. Get all of the basic output formatting functionality in place for
   * at least ICU and Win32 transcoders.
   *
   * Revision 1.4  2000/04/06 23:50:38  roddey
   * Now the low level formatter handles doing char refs for
   * unrepresentable chars (in addition to the replacement char style
   * already done.)
   *
   * Revision 1.3  2000/04/06 19:09:21  roddey
   * Some more improvements to output formatting. Now it will correctly
   * handle doing the 'replacement char' style of dealing with chars
   * that are unrepresentable.
   *
   * Revision 1.2  2000/04/05 00:20:16  roddey
   * More updates for the low level formatted output support
   *
   * Revision 1.1  2000/03/28 19:43:17  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   */
  
  #if !defined(XMLFORMATTER_HPP)
  #define XMLFORMATTER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLFormatTarget;
  class XMLTranscoder;
  
  /**
   *  This class provides the basic formatting capabilities that are required
   *  to turn the Unicode based XML data from the parsers into a form that can
   *  be used on non-Unicode based systems, i.e. into local or generic text
   *  encodings.
   *
   *  A number of flags are provided to control whether various optional
   *  formatting operations are performed.
   */
  class XMLPARSER_EXPORT XMLFormatter
  {
  public:
      // -----------------------------------------------------------------------
      //  Class types
      // -----------------------------------------------------------------------
      enum EscapeFlags
      {
          NoEscapes
          , StdEscapes
          , AttrEscapes
          , CharEscapes
  
          // Special values, don't use directly
          , EscapeFlags_Count
          , DefaultEscape     = 999
      };
  
      enum UnRepFlags
      {
          UnRep_Fail
          , UnRep_CharRef
          , UnRep_Replace
  
          , DefaultUnRep      = 999
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLFormatter
      (
          const   XMLCh* const            outEncoding
          ,       XMLFormatTarget* const  target
          , const EscapeFlags             escapeFlags = NoEscapes
          , const UnRepFlags              unrepFlags = UnRep_Fail
      );
  
      XMLFormatter
      (
          const   char* const             outEncoding
          ,       XMLFormatTarget* const  target
          , const EscapeFlags             escapeFlags = NoEscapes
          , const UnRepFlags              unrepFlags = UnRep_Fail
      );
  
      ~XMLFormatter();
  
  
      // -----------------------------------------------------------------------
      //  Formatting methods
      // -----------------------------------------------------------------------
      void formatBuf
      (
          const   XMLCh* const    toFormat
          , const unsigned int    count
          , const EscapeFlags     escapeFlags = DefaultEscape
          , const UnRepFlags      unrepFlags = DefaultUnRep
      );
  
      XMLFormatter& operator<<
      (
          const   XMLCh* const    toFormat
      );
  
      XMLFormatter& operator<<
      (
          const   XMLCh           toFormat
      );
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLCh* getEncodingName() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setEscapeFlags
      (
          const   EscapeFlags     newFlags
      );
  
      void setUnRepFlags
      (
          const   UnRepFlags      newFlags
      );
  
      XMLFormatter& operator<<
      (
          const   EscapeFlags     newFlags
      );
  
      XMLFormatter& operator<<
      (
          const   UnRepFlags      newFlags
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLFormatter();
      XMLFormatter(const XMLFormatter&);
      void operator=(const XMLFormatter&);
  
  
      // -----------------------------------------------------------------------
      //  Private class constants
      // -----------------------------------------------------------------------
      enum Constants
      {
          kTmpBufSize     = 16 * 1024
      };
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      const XMLByte* getAposRef(unsigned int & count);
      const XMLByte* getAmpRef(unsigned int & count);
      const XMLByte* getGTRef(unsigned int & count);
      const XMLByte* getLTRef(unsigned int & count);
      const XMLByte* getQuoteRef(unsigned int & count);
  
      void specialFormat
      (
          const   XMLCh* const    toFormat
          , const unsigned int    count
          , const EscapeFlags     escapeFlags
      );
  
  
      // -----------------------------------------------------------------------
      //  Private, non-virtual methods
      //
      //  fEscapeFlags
      //      The escape flags we were told to use in formatting. These are
      //      defaults set in the ctor, which can be overridden on a particular
      //      call.
      //
      //  fOutEncoding
      //      This the name of the output encoding. Saved mainly for meaningful
      //      error messages.
      //
      //  fTarget
      //      This is the target object for the formatting operation.
      //
      //  fUnRepFlags
      //      The unrepresentable flags that indicate how to react when a
      //      character cannot be represented in the target encoding.
      //
      //  fXCoder
      //      This the transcoder that we will use. It is created using the
      //      encoding name we were told to use.
      //
      //  fTmpBuf
      //      An output buffer that we use to transcode chars into before we
      //      send them off to be output.
      //
      //  fAposRef
      //  fAmpRef
      //  fGTRef
      //  fLTRef
      //  fQuoteRef
      //      These are character refs for the standard char refs, in the
      //      output encoding. They are faulted in as required, by transcoding
      //      them from fixed Unicode versions.
      // -----------------------------------------------------------------------
      EscapeFlags                 fEscapeFlags;
      XMLCh*                      fOutEncoding;
      XMLFormatTarget*            fTarget;
      UnRepFlags                  fUnRepFlags;
      XMLTranscoder*              fXCoder;
      XMLByte                     fTmpBuf[kTmpBufSize + 4];
  
      XMLByte*                    fAposRef;
      unsigned int                fAposLen;
      XMLByte*                    fAmpRef;
      unsigned int                fAmpLen;
      XMLByte*                    fGTRef;
      unsigned int                fGTLen;
      XMLByte*                    fLTRef;
      unsigned int                fLTLen;
      XMLByte*                    fQuoteRef;
      unsigned int                fQuoteLen;
  };
  
  
  class XMLPARSER_EXPORT XMLFormatTarget
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      virtual ~XMLFormatTarget() {}
  
  
      // -----------------------------------------------------------------------
      //  Virtual interface
      // -----------------------------------------------------------------------
      virtual void writeChars
      (
          const   XMLByte* const      toWrite
          , const unsigned int        count
          ,       XMLFormatter* const formatter
      ) = 0;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors and operators
      // -----------------------------------------------------------------------
      XMLFormatTarget() {}
      XMLFormatTarget(const XMLFormatTarget&) {}
      void operator=(const XMLFormatTarget&) {}
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLFormatter: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLFormatter::getEncodingName() const
  {
      return fOutEncoding;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLFormatter: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLFormatter::setEscapeFlags(const EscapeFlags newFlags)
  {
      fEscapeFlags = newFlags;
  }
  
  inline void XMLFormatter::setUnRepFlags(const UnRepFlags newFlags)
  {
      fUnRepFlags = newFlags;
  }
  
  
  inline XMLFormatter& XMLFormatter::operator<<(const EscapeFlags newFlags)
  {
      fEscapeFlags = newFlags;
      return *this;
  }
  
  inline XMLFormatter& XMLFormatter::operator<<(const UnRepFlags newFlags)
  {
      fUnRepFlags = newFlags;
      return *this;
  }
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLNotationDecl.hpp
  
  Index: XMLNotationDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLNotationDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:54:25  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:31  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:48  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:35  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:39  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLNOTATIONDECL_HPP)
  #define XMLNOTATIONDECL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLString.hpp>
  
  /**
   *  This class represents the core information about a notation declaration
   *  that all validators must at least support. Each validator will create a
   *  derivative of this class which adds any information it requires for its
   *  own extra needs.
   *
   *  At this common level, the information supported is the notation name
   *  and the public and sysetm ids indicated in the notation declaration.
   */
  class XMLPARSER_EXPORT XMLNotationDecl
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors */
      //@{
      XMLNotationDecl();
      XMLNotationDecl
      (
          const   XMLCh* const    notName
          , const XMLCh* const    pubId
          , const XMLCh* const    sysId
      );
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLNotationDecl();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getId() const;
      const XMLCh* getName() const;
      const XMLCh* getPublicId() const;
      const XMLCh* getSystemId() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setId(const unsigned int newId);
      void setName
      (
          const   XMLCh* const    notName
      );
      void setPublicId(const XMLCh* const newId);
      void setSystemId(const XMLCh* const newId);
  
  
      // -----------------------------------------------------------------------
      //  Support named collection element semantics
      // -----------------------------------------------------------------------
      const XMLCh* getKey() const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLNotationDecl(const XMLNotationDecl&);
      void operator=(const XMLNotationDecl&);
  
  
      // -----------------------------------------------------------------------
      //  XMLNotationDecl: Private helper methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fId
      //      This is the unique id given to this notation decl.
      //
      //  fName
      //      The notation's name, which identifies the type of notation it
      //      applies to.
      //
      //  fPublicId
      //      The text of the notation's public id, if any.
      //
      //  fSystemId
      //      The text of the notation's system id, if any.
      // -----------------------------------------------------------------------
      unsigned int    fId;
  	XMLCh*          fName;
      XMLCh*          fPublicId;
      XMLCh*          fSystemId;
  };
  
  
  // -----------------------------------------------------------------------
  //  Getter methods
  // -----------------------------------------------------------------------
  inline unsigned int XMLNotationDecl::getId() const
  {
      return fId;
  }
  
  inline const XMLCh* XMLNotationDecl::getName() const
  {
      return fName;
  }
  
  inline const XMLCh* XMLNotationDecl::getPublicId() const
  {
      return fPublicId;
  }
  
  inline const XMLCh* XMLNotationDecl::getSystemId() const
  {
      return fSystemId;
  }
  
  
  // -----------------------------------------------------------------------
  //  Setter methods
  // -----------------------------------------------------------------------
  inline void XMLNotationDecl::setId(const unsigned int newId)
  {
      fId = newId;
  }
  
  inline void XMLNotationDecl::setPublicId(const XMLCh* const newId)
  {
      delete [] fPublicId;
      fPublicId = XMLString::replicate(newId);
  }
  
  inline void XMLNotationDecl::setSystemId(const XMLCh* const newId)
  {
      delete [] fSystemId;
      fSystemId = XMLString::replicate(newId);
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLNotationDecl: Support named pool element semantics
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLNotationDecl::getKey() const
  {
      return fName;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLPScanToken.hpp
  
  Index: XMLPScanToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLPScanToken.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:31  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:48  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:36  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:39  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLPSCANTOKEN_HPP)
  #define XMLPSCANTOKEN_HPP
  
  class XMLScanner;
  
  /**
   *  This simple class is used as a sanity check when the scanner is used to
   *  do progressive parsing. It insures that things are not done out of
   *  sequence and that sequences of scan calls are made correctly to the
   *  right scanner instances.
   *
   *  To client code, it is just a magic cookie which is obtained when a
   *  progressive parse is begun, and which is passed back in on each subsequent
   *  call of the progressive parse.
   */
  class XMLPARSER_EXPORT XMLPScanToken
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      /** @name Constructor */
      //@{
      XMLPScanToken();
      XMLPScanToken(const XMLPScanToken& toCopy);
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLPScanToken();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Public operators
      // -----------------------------------------------------------------------
      XMLPScanToken& operator=(const XMLPScanToken& toCopy);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  XMLScanner is our friend, can you say friend? Sure...
      // -----------------------------------------------------------------------
      friend class XMLScanner;
  
  
      // -----------------------------------------------------------------------
      //  Hidden methods for use by XMLScanner
      // -----------------------------------------------------------------------
      void set
      (
          const   XMLUInt32   scannerId
          , const XMLUInt32   sequenceId
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fScannerId
      //      This field is set to the id of the scanner, to catch problems
      //      where a token is gotten from one scanner and passed to another.
      //      Each scanner is assigned an incrementing id.
      //
      //  fSequenceId
      //      In order to avoid problems such as calling scanNext() without
      //      a call to scanFirst() and such, this value is set when scanFirst()
      //      is called and matches this token to the current sequence id of
      //      the scanner.
      // -----------------------------------------------------------------------
      XMLUInt32   fScannerId;
      XMLUInt32   fSequenceId;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLPScanToken: Constructors and Operators
  // ---------------------------------------------------------------------------
  inline XMLPScanToken::XMLPScanToken() :
  
      fScannerId(0)
      , fSequenceId(0)
  {
  }
  
  inline XMLPScanToken::XMLPScanToken(const XMLPScanToken& toCopy) :
  
      fScannerId(toCopy.fScannerId)
      , fSequenceId(toCopy.fSequenceId)
  {
  }
  
  inline XMLPScanToken::~XMLPScanToken()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLPScanToken: Public operators
  // ---------------------------------------------------------------------------
  inline XMLPScanToken& XMLPScanToken::operator=(const XMLPScanToken& toCopy)
  {
      if (this == &toCopy)
          return *this;
  
      fScannerId = toCopy.fScannerId;
      fSequenceId = toCopy.fSequenceId;
  
      return *this;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLPScanToken: Hidden methods
  // ---------------------------------------------------------------------------
  inline void XMLPScanToken::set( const   XMLUInt32   scannerId
                                  , const XMLUInt32   sequenceId)
  {
      fScannerId = scannerId;
      fSequenceId = sequenceId;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLRecognizer.hpp
  
  Index: XMLRecognizer.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   *  $Id: XMLRecognizer.hpp,v 1.1 2002/03/22 00:41:51 sanjiva Exp $
   */
  
  #if !defined(XMLRECOGNIZER_HPP)
  #define XMLRECOGNIZER_HPP
  
  /**
   *  This class provides some simple code to recognize the encodings of
   *  XML files. This recognition only does very basic sensing of the encoding
   *  in a broad sense. Basically its just enough to let us get started and
   *  read the XMLDecl line. The scanner, once it reads the XMLDecl, will
   *  tell the reader any actual encoding string it found and the reader can
   *  update itself to be more specific at that point.
   */
  class XMLPARSER_EXPORT XMLRecognizer
  {
  public :
      // -----------------------------------------------------------------------
      //  Class types
      //
      //  This enum represents the various encoding families that we have to
      //  deal with individually at the scanner level. This does not indicate
      //  the exact encoding, just the rough family that would let us scan
      //  the XML/TextDecl to find the encoding string.
      //
      //  The 'L's and 'B's stand for little or big endian. We conditionally
      //  create versions that will automatically map to the local UTF-16 and
      //  UCS-4 endian modes.
      //
      //  OtherEncoding means that its some transcoder based encoding, i.e. not
      //  one of the ones that we do internally. Its a special case and should
      //  never be used directly outside of the reader.
      //
      //  NOTE: Keep this in sync with the name map array in the Cpp file!!
      // -----------------------------------------------------------------------
      enum Encodings
      {
          EBCDIC          = 0
          , UCS_4B        = 1
          , UCS_4L        = 2
          , US_ASCII      = 3
          , UTF_8         = 4
          , UTF_16B       = 5
          , UTF_16L       = 6
  
          , Encodings_Count
          , Encodings_Min = EBCDIC
          , Encodings_Max = UTF_16L
  
          , OtherEncoding = 999
  
          #if defined(ENDIANMODE_BIG)
          , Def_UTF16     = UTF_16B
          , Def_UCS4      = UCS_4B
          #else
          , Def_UTF16     = UTF_16L
          , Def_UCS4      = UCS_4L
          #endif
      };
  
  
      // -----------------------------------------------------------------------
      //  Public, const static data
      //
      //  These are the byte sequences for each of the encodings that we can
      //  auto sense, and their lengths.
      // -----------------------------------------------------------------------
      static const char           fgASCIIPre[];
      static const unsigned int   fgASCIIPreLen;
      static const XMLByte        fgEBCDICPre[];
      static const unsigned int   fgEBCDICPreLen;
      static const XMLByte        fgUTF16BPre[];
      static const XMLByte        fgUTF16LPre[];
      static const unsigned int   fgUTF16PreLen;
      static const XMLByte        fgUCS4BPre[];
      static const XMLByte        fgUCS4LPre[];
      static const unsigned int   fgUCS4PreLen;
      static const char           fgUTF8BOM[];
      static const unsigned int   fgUTF8BOMLen;
  
  
      // -----------------------------------------------------------------------
      //  Encoding recognition methods
      // -----------------------------------------------------------------------
      static Encodings basicEncodingProbe
      (
          const   XMLByte* const      rawBuffer
          , const unsigned int        rawByteCount
      );
  
      static Encodings encodingForName
      (
          const   XMLCh* const    theEncName
      );
  
      static const XMLCh* nameForEncoding(const Encodings theEncoding);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors, operators, and destructor
      //
      //  This class is effectively being used as a namespace for some static
      //  methods.
      //
      //   (these functions are protected rather than private only to get rid of
      //    some annoying compiler warnings.)
      //
      // -----------------------------------------------------------------------
      XMLRecognizer();
      ~XMLRecognizer();
      void operator=(const XMLRecognizer&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLRefInfo.hpp
  
  Index: XMLRefInfo.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLRefInfo.hpp,v $
   * Revision 1.1  2002/03/22 00:41:51  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/07/07 22:23:38  jpolast
   * remove useless getKey() functions.
   *
   * Revision 1.4  2000/02/24 20:00:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/15 01:21:31  roddey
   * Some initial documentation improvements. More to come...
   *
   * Revision 1.2  2000/02/06 07:47:49  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:37  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:40  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLIDREFINFO_HPP)
  #define XMLIDREFINFO_HPP
  
  
  /**
   *  This class provides a simple means to track ID Ref usage. Since id/idref
   *  semamatics are part of XML 1.0, any validator will likely to be able to
   *  track them. Instances of this class represent a reference and two markers,
   *  one for its being declared and another for its being used. When the
   *  document is done, one can look at each instance and, if used but not
   *  declared, its an error.
   *
   *  The getKey() method allows it to support keyed collection semantics. It
   *  returns the referenced name, so these objects will be stored via the hash
   *  of the name. This name will either be a standard QName if namespaces are
   *  not enabled/supported by the validator, or it will be in the form
   *  {url}name if namespace processing is enabled.
   */
  class XMLPARSER_EXPORT XMLRefInfo
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructor */
      //@{
      XMLRefInfo
      (
          const   XMLCh* const    refName
          , const bool            fDeclared = false
          , const bool            fUsed = false
      );
      //@}
  
      /** @name Destructor */
      //@{
      ~XMLRefInfo();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool getDeclared() const;
      const XMLCh* getRefName() const;
      bool getUsed() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setDeclared(const bool newValue);
      void setUsed(const bool newValue);
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLRefInfo();
      XMLRefInfo(const XMLRefInfo&);
      void operator=(XMLRefInfo&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDeclared
      //      The name was declared somewhere as an ID attribute.
      //
      //  fRefName
      //      The name of the ref that this object represents. This is not a
      //      name of the attribute, but of the value of an ID or IDREF attr
      //      in content.
      //
      //  fUsed
      //      The name was used somewhere in an IDREF/IDREFS attribute. If this
      //      is true, but fDeclared is false, then the ref does not refer to
      //      a declared ID.
      // -----------------------------------------------------------------------
      bool        fDeclared;
      XMLCh*      fRefName;
      bool        fUsed;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLRefInfo: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline XMLRefInfo::XMLRefInfo(  const   XMLCh* const    refName
                                  , const bool            declared
                                  , const bool            used) :
      fDeclared(declared)
      , fRefName(XMLString::replicate(refName))
      , fUsed(used)
  {
  }
  
  inline XMLRefInfo::~XMLRefInfo()
  {
      delete [] fRefName;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLRefInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline bool XMLRefInfo::getDeclared() const
  {
      return fDeclared;
  }
  
  inline const XMLCh* XMLRefInfo::getRefName() const
  {
      return fRefName;
  }
  
  inline bool XMLRefInfo::getUsed() const
  {
      return fUsed;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLRefInfo: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLRefInfo::setDeclared(const bool newValue)
  {
      fDeclared = newValue;
  }
  
  inline void XMLRefInfo::setUsed(const bool newValue)
  {
      fUsed = newValue;
  }
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLValidator.hpp
  
  Index: XMLValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
   /*
    * $Log: XMLValidator.hpp,v $
    * Revision 1.1  2002/03/22 00:41:51  sanjiva
    * added c++ contribution from Sri Lanka
    *
    * Revision 1.15  2001/10/24 23:46:52  peiyongz
    * [Bug 4342] fix the leak.
    *
    * Revision 1.14  2001/06/05 16:51:17  knoaman
    * Add 'const' to getGrammar - submitted by Peter A. Volchek.
    *
    * Revision 1.13  2001/05/11 13:25:33  tng
    * Copyright update.
    *
    * Revision 1.12  2001/05/03 20:34:22  tng
    * Schema: SchemaValidator update
    *
    * Revision 1.11  2001/04/19 18:16:53  tng
    * Schema: SchemaValidator update, and use QName in Content Model
    *
    * Revision 1.10  2001/03/21 21:56:03  tng
    * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
    *
    * Revision 1.9  2001/02/26 19:21:33  tng
    * Schema: add parameter prefix in findElem and findAttr.
    *
    * Revision 1.8  2000/12/14 18:49:58  tng
    * Fix API document generation warning: "Warning: end of member group without matching begin"
    *
    * Revision 1.7  2000/08/09 22:09:09  jpolast
    * added const XMLCh* getURIText()
    * allows parsers to use const URIs instead of appending
    * to a XMLBuffer.
    *
    * Revision 1.6  2000/03/02 19:54:25  roddey
    * This checkin includes many changes done while waiting for the
    * 1.1.0 code to be finished. I can't list them all here, but a list is
    * available elsewhere.
    *
    * Revision 1.5  2000/02/24 20:00:24  abagchi
    * Swat for removing Log from API docs
    *
    * Revision 1.4  2000/02/15 23:59:07  roddey
    * More updated documentation of Framework classes.
    *
    * Revision 1.3  2000/02/15 01:21:31  roddey
    * Some initial documentation improvements. More to come...
    *
    * Revision 1.2  2000/02/06 07:47:49  rahulj
    * Year 2K copyright swat.
    *
    * Revision 1.1.1.1  1999/11/09 01:08:38  twl
    * Initial checkin
    *
    * Revision 1.4  1999/11/08 20:44:41  rahul
    * Swat for adding in Product name and CVS comment log variable.
    *
    */
  
  
  #if !defined(XMLVALIDATOR_HPP)
  #define XMLVALIDATOR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <framework/XMLAttr.hpp>
  #include <framework/XMLValidityCodes.hpp>
  #include <framework/XMLRefInfo.hpp>
  
  class ReaderMgr;
  class XMLBuffer;
  class XMLBufferMgr;
  class XMLElementDecl;
  class XMLEntityHandler;
  class XMLErrorReporter;
  class XMLMsgLoader;
  class XMLScanner;
  class Grammar;
  
  
  /**
   *  This abstract class provides the interface for all validators. This is
   *  the simple amount of API that all validators must honor, in order for
   *  the scanner to use them to do validation. All validators will actually
   *  contain much more functionality than is accessible via this common API,
   *  but that functionality requires that you know what type of validator you
   *  are dealing with.
   *
   *  Basically, at this level, the primary concern is to be able to query
   *  core information about elements and attributes. Adding decls to the
   *  validator requires that you go through the derived interface because they
   *  all have their own decl types. At this level, we can return information
   *  via the base decl classes, from which each validator derives its own
   *  decl classes.
   */
  class XMLPARSER_EXPORT XMLValidator
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors are hidden, just the virtual destructor is exposed
      // -----------------------------------------------------------------------
  
      /** @name Destructor */
      //@{
  
      /**
       *  The derived class should clean up its allocated data, then this class
       *  will do the same for data allocated at this level.
       */
      virtual ~XMLValidator()
      {
      }
      //@}
  
  
      // -----------------------------------------------------------------------
      //  The virtual validator interface
      // -----------------------------------------------------------------------
  
      /** @name Virtual validator interface */
      //@{
  
      /**
        * The derived class should look up its declaration of the passed element
        * from its element pool. It should then use the content model description
        * contained in that element declaration to validate that the passed list
        * of child elements are valid for that content model. The count can be
        * zero, indicating no child elements.
        *
        * Note that whitespace and text content are not validated here. Those are
        * handled by the scanner. So only element ids are provided here.
        *
        * @param  elemId      The pool id of the element whose content is to be
        *                     checked.
        *
        * @param  children    An array of element QName which represent the elements
        *                     found within the parent element, i.e. the content
        *                     to be validated.
        *
        * @param  childCount  The number of elements in the childIds array. It can
        *                     be zero if the element had none.
        */
      virtual int checkContent
      (
          XMLElementDecl* const   elemDecl
          , QName** const         children
          , const unsigned int    childCount
      ) = 0;
  
      /**
        * For those validators that contrain the possible root elements of a
        * document to only particular elements, they should use this call to
        * validate that the passed root element id is a legal root element.
        */
      virtual bool checkRootElement
      (
          const   unsigned int    elemId
      ) = 0;
  
      /**
        * The derived class should fault in the passed XMLAttr value. It should
        * use the passeed attribute definition (which is passed via the base
        * type so it must often be downcast to the appropriate type for the
        * derived validator class), to fill in the passed attribute. This is done
        * as a performance enhancement since the derived class has more direct
        * access to the information.
        */
      virtual void faultInAttr
      (
                  XMLAttr&    toFill
          , const XMLAttDef&  attDef
      )   const = 0;
  
      /**
        * This method is called by the scanner after a Grammar is scanned.
        */
      virtual void preContentValidation(bool reuseGrammar) = 0;
  
      /**
        * This method is called by the scanner after the parse has completed. It
        * gives the validator a chance to check certain things that can only be
        * checked after the whole document has been parsed, such as referential
        * integrity of ID/IDREF pairs and so forth. The validator should just
        * issue errors for any problems it finds.
        */
      virtual void postParseValidation() = 0;
  
      /**
        * This method is called by the scanner before a new document is about
        * to start. It gives the validator a change to reset itself in preperation
        * for another validation pass.
        */
      virtual void reset() = 0;
  
      /**
        * The derived class should return a boolean that indicates whether it
        * requires namespace processing or not. Some do and some allow it to be
        * optional. This flag is used to control whether the client code's
        * requests to disable namespace processing can be honored or not.
        */
      virtual bool requiresNamespaces() const = 0;
  
      /**
        * The derived class should apply any rules to the passed attribute value
        * that are above and beyond those defined by XML 1.0. The scanner itself
        * will impose XML 1.0 rules, based on the type of the attribute. This
        * will generally be used to check things such as range checks and other
        * datatype related validation.
        *
        * If the value breaks any rules as defined by the derived class, it
        * should just issue errors as usual.
        */
      virtual void validateAttrValue
      (
          const   XMLAttDef*                  attDef
          , const XMLCh* const                attrValue
      ) = 0;
  
      /**
        * The derived class should apply any rules to the passed element decl
        * that are above and beyond those defined by XML 1.0.
        *
        * If the value breaks any rules as defined by the derived class, it
        * should just issue errors as usual.
        */
      virtual void validateElement
      (
          const   XMLElementDecl*             elemDef
      ) = 0;
  
      /**
        * Retrieve the Grammar used
        */
      virtual Grammar* getGrammar() const =0;
  
      /**
        * Set the Grammar
        */
      virtual void setGrammar(Grammar* aGrammar) =0;
  
  
      //@}
  
      // -----------------------------------------------------------------------
      //  Virtual DTD handler interface.
      // -----------------------------------------------------------------------
  
      /** @name Virtual DTD handler interface */
      //@{
  
      /**
        * This method allows the scanner to ask the validator if it handles
        * DTDs or not.
        */
      virtual bool handlesDTD() const = 0;
  
      // -----------------------------------------------------------------------
      //  Virtual Schema handler interface.
      // -----------------------------------------------------------------------
  
      /** @name Virtual Schema handler interface */
  
      /**
        * This method allows the scanner to ask the validator if it handles
        * Schema or not.
        */
      virtual bool handlesSchema() const = 0;
  
      //@}
  
      // -----------------------------------------------------------------------
      //  Setter methods
      //
      //  setScannerInfo() is called by the scanner to tell the validator
      //  about the stuff it needs to have access to.
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /**
        * @param  owningScanner   This is a pointer to the scanner to which the
        *                         validator belongs. The validator will often
        *                         need to query state data from the scanner.
        *
        * @param  readerMgr       This is a pointer to the reader manager that is
        *                         being used by the scanner.
        *
        * @param  bufMgr          This is the buffer manager of the scanner. This
        *                         is provided as a convenience so that the validator
        *                         doesn't have to create its own buffer manager
        *                         during the parse process.
        */
      void setScannerInfo
      (
          XMLScanner* const           owningScanner
          , ReaderMgr* const          readerMgr
          , XMLBufferMgr* const       bufMgr
      );
  
      /**
        * This method is called to set an error reporter on the validator via
        * which it will report any errors it sees during parsing or validation.
        * This is generally called by the owning scanner.
        *
        * @param  errorReporter   A pointer to the error reporter to use. This
        *                         is not adopted, just referenced so the caller
        *                         remains responsible for its cleanup, if any.
        */
      void setErrorReporter
      (
          XMLErrorReporter* const errorReporter
      );
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Error emitter methods
      // -----------------------------------------------------------------------
  
      /** @name Error emittor methods */
      //@{
  
      /**
       *  This call is a convenience by which validators can emit errors. Most
       *  of the grunt work of loading the text, getting the current source
       *  location, ect... is handled here.
       *
       *  If the loaded text has replacement parameters, then text strings can be
       *  passed. These will be used to replace the tokens {0}, {1}, {2}, and {3}
       *  in the order passed. So text1 will replace {0}, text2 will replace {1},
       *  and so forth.
       *
       *  @param toEmit   The error code to emit. it must be one of the defined
       *                  validator error codes.
       *
       *  @param  textX   Up to four replacement parameters. They can be provided
       *                  as either XMLCh strings, or local code page strings which
       *                  will be transcoded internally.
       */
      void emitError(const XMLValid::Codes toEmit);
      void emitError
      (
          const   XMLValid::Codes toEmit
          , const XMLCh* const    text1
          , const XMLCh* const    text2 = 0
          , const XMLCh* const    text3 = 0
          , const XMLCh* const    text4 = 0
      );
      void emitError
      (
          const   XMLValid::Codes toEmit
          , const char* const     text1
          , const char* const     text2 = 0
          , const char* const     text3 = 0
          , const char* const     text4 = 0
      );
  
      //@}
  
      // -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitXMLValidator();   
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLValidator
      (
          XMLErrorReporter* const errReporter = 0
      );
  
  
      // -----------------------------------------------------------------------
      //  Protected getters
      // -----------------------------------------------------------------------
      const XMLBufferMgr* getBufMgr() const;
      XMLBufferMgr* getBufMgr();
      const ReaderMgr* getReaderMgr() const;
      ReaderMgr* getReaderMgr();
      const XMLScanner* getScanner() const;
      XMLScanner* getScanner();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented Constructors and Operators
      // -----------------------------------------------------------------------
      XMLValidator(const XMLValidator&);
      void operator=(const XMLValidator&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fErrorReporter
      //      The error reporter we are to use, if any.
      //
      // -----------------------------------------------------------------------
      XMLBufferMgr*       fBufMgr;
      XMLErrorReporter*   fErrorReporter;
      ReaderMgr*          fReaderMgr;
      XMLScanner*         fScanner;
  
  };
  
  
  // -----------------------------------------------------------------------
  //  Setter methods
  // -----------------------------------------------------------------------
  inline void
  XMLValidator::setScannerInfo(XMLScanner* const      owningScanner
                              , ReaderMgr* const      readerMgr
                              , XMLBufferMgr* const   bufMgr)
  {
      // We don't own any of these, we just reference them
      fScanner = owningScanner;
      fReaderMgr = readerMgr;
      fBufMgr = bufMgr;
  }
  
  inline void
  XMLValidator::setErrorReporter(XMLErrorReporter* const errorReporter)
  {
      fErrorReporter = errorReporter;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLValidator: Protected getter
  // ---------------------------------------------------------------------------
  inline const XMLBufferMgr* XMLValidator::getBufMgr() const
  {
      return fBufMgr;
  }
  
  inline XMLBufferMgr* XMLValidator::getBufMgr()
  {
      return fBufMgr;
  }
  
  inline const ReaderMgr* XMLValidator::getReaderMgr() const
  {
      return fReaderMgr;
  }
  
  inline ReaderMgr* XMLValidator::getReaderMgr()
  {
      return fReaderMgr;
  }
  
  inline const XMLScanner* XMLValidator::getScanner() const
  {
      return fScanner;
  }
  
  inline XMLScanner* XMLValidator::getScanner()
  {
      return fScanner;
  }
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/framework/XMLValidityCodes.hpp
  
  Index: XMLValidityCodes.hpp
  ===================================================================
  // This file is generated, don't edit it!!
  
  #if !defined(ERRHEADER_XMLValid)
  #define ERRHEADER_XMLValid
  
  #include <framework/XMLErrorReporter.hpp>
  
  class XMLValid
  {
  public :
      enum Codes
      {
          NoError                            = 0
        , E_LowBounds                        = 1
        , ElementNotDefined                  = 2
        , AttNotDefined                      = 3
        , NotationNotDeclared                = 4
        , RootElemNotLikeDocType             = 5
        , RequiredAttrNotProvided            = 6
        , ElementNotValidForContent          = 7
        , BadIDAttrDefType                   = 8
        , InvalidEmptyAttValue               = 9
        , ElementAlreadyExists               = 10
        , MultipleIdAttrs                    = 11
        , ReusedIDValue                      = 12
        , IDNotDeclared                      = 13
        , UnknownNotRefAttr                  = 14
        , UndeclaredElemInDocType            = 15
        , EmptyNotValidForContent            = 16
        , AttNotDefinedForElement            = 17
        , BadEntityRefAttr                   = 18
        , UnknownEntityRefAttr               = 19
        , NotEnoughElemsForCM                = 20
        , NoCharDataInCM                     = 21
        , DoesNotMatchEnumList               = 22
        , AttrValNotName                     = 23
        , NoMultipleValues                   = 24
        , NotSameAsFixedValue                = 25
        , RepElemInMixed                     = 26
        , NoValidatorFor                     = 27
        , IncorrectDatatype                  = 28
        , NotADatatype                       = 29
        , TextOnlyContentWithType            = 30
        , FeatureUnsupported                 = 31
        , NestedOnlyInElemOnly               = 32
        , EltRefOnlyInMixedElemOnly          = 33
        , OnlyInEltContent                   = 34
        , OrderIsAll                         = 35
        , DatatypeWithType                   = 36
        , DatatypeQualUnsupported            = 37
        , GroupContentRestricted             = 38
        , UnknownBaseDatatype                = 39
        , OneOfTypeRefArchRef                = 40
        , NoContentForRef                    = 41
        , IncorrectDefaultType               = 42
        , IllegalAttContent                  = 43
        , ValueNotInteger                    = 44
        , DatatypeError                      = 45
        , SchemaError                        = 46
        , TypeAlreadySet                     = 47
        , ProhibitedAttributePresent         = 48
        , IllegalXMLSpace                    = 49
        , NotBoolean                         = 50
        , NotDecimal                         = 51
        , FacetsInconsistent                 = 52
        , IllegalFacetValue                  = 53
        , IllegalDecimalFacet                = 54
        , UnknownFacet                       = 55
        , InvalidEnumValue                   = 56
        , OutOfBounds                        = 57
        , NotAnEnumValue                     = 58
        , NotInteger                         = 59
        , IllegalIntegerFacet                = 60
        , NotReal                            = 61
        , IllegalRealFacet                   = 62
        , ScaleLargerThanPrecision           = 63
        , PrecisionExceeded                  = 64
        , ScaleExceeded                      = 65
        , NotFloat                           = 66
        , SchemaRootError                    = 67
        , WrongTargetNamespace               = 68
        , SimpleTypeHasChild                 = 69
        , NoDatatypeValidatorForSimpleType   = 70
        , GrammarNotFound                    = 71
        , DisplayErrorMessage                = 72
        , NillNotAllowed                     = 73
        , NilAttrNotEmpty                    = 74
        , FixedDifferentFromActual           = 75
        , NoDatatypeValidatorForAttribute    = 76
        , GenericError                       = 77
        , ElementNotQualified                = 78
        , ElementNotUnQualified              = 79
        , IllegalRefInStandalone             = 80
        , NoDefAttForStandalone              = 81
        , NoAttNormForStandalone             = 82
        , NoWSForStandalone                  = 83
        , VC_EntityNotFound                  = 84
        , PartialMarkupInPE                  = 85
        , DatatypeValidationFailure          = 86
        , UniqueParticleAttributionFail      = 87
        , NoAbstractInXsiType                = 88
        , NoDirectUseAbstractElement         = 89
        , NoUseAbstractType                  = 90
        , BadXsiType                         = 91
        , NonDerivedXsiType                  = 92
        , NoSubforBlock                      = 93
        , AttributeNotQualified              = 94
        , AttributeNotUnQualified            = 95
        , E_HighBounds                       = 96
        , W_LowBounds                        = 97
        , W_HighBounds                       = 98
        , F_LowBounds                        = 99
        , F_HighBounds                       = 100
      };
  
      static bool isFatal(const XMLValid::Codes toCheck)
      {
          return ((toCheck >= F_LowBounds) && (toCheck <= F_HighBounds));
      }
  
      static bool isWarning(const XMLValid::Codes toCheck)
      {
          return ((toCheck >= W_LowBounds) && (toCheck <= W_HighBounds));
      }
  
      static bool isError(const XMLValid::Codes toCheck)
      {
          return ((toCheck >= E_LowBounds) && (toCheck <= E_HighBounds));
      }
  
      static XMLErrorReporter::ErrTypes errorType(const XMLValid::Codes toCheck)
      {
         if ((toCheck >= W_LowBounds) && (toCheck <= W_HighBounds))
             return XMLErrorReporter::ErrType_Warning;
         else if ((toCheck >= F_LowBounds) && (toCheck <= F_HighBounds))
              return XMLErrorReporter::ErrType_Fatal;
         else if ((toCheck >= E_LowBounds) && (toCheck <= E_HighBounds))
              return XMLErrorReporter::ErrType_Error;
         return XMLErrorReporter::ErrTypes_Unknown;
      }
  };
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDCasts.hpp
  
  Index: IDCasts.hpp
  ===================================================================
  #ifndef IDCasts_HEADER_GUARD_
  #define IDCasts_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDCasts.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  
  //
  //  Define inline casting functions to convert from
  //    (IDOM_Node *) to IDParentNode or IDChildNode *.
  //
  //  This requires knowledge of the structure of the fields of
  //   for all node types.  There are three categories -
  //
  //  Nodetypes that can have children and can be a child themselves.
  //    e.g.  Elements
  //
  //       Object
  //           IDNodeImpl     fNode;
  //           IDParentNode   fParent;
  //           IDChildNode    fChild;
  //             ...            // other fields, depending on node type.
  //
  //  Nodetypes that can not have children, e.g. TEXT
  //
  //       Object
  //           IDNodeImpl     fNode;
  //           IDChildNode    fChild;
  //              ...            // other fields, depending on node type
  //
  //  Nodetypes that can not be a child of other nodes, but that can
  //  have children (are a parent)  e.g. ATTR
  //       Object
  //           IDNodeImpl     fNode;
  //           IDParentNode   fParent
  //               ...           // other fields, depending on node type
  //
  //   The casting functions make these assumptions:
  //      1.  The cast is possible.  Using code will not attempt to
  //          cast to something that does not exist, such as the child
  //          part of an ATTR
  //
  //      2.  The nodes belong to this implementation.
  //
  //    Some of the casts use the LEAFNODE flag in the common fNode part to
  //    determine whether an fParent field exists, and thus the
  //    position of the fChild part within the node.
  //
  //  These functions also cast off const.  It was either do that, or make
  //  a second overloaded set that took and returned const arguements.
  //
  
  #include "IDElementImpl.hpp"
  #include "IDTextImpl.hpp"
  
  static inline IDNodeImpl *castToNodeImpl(const IDOM_Node *p)
  {
      IDElementImpl *pE = (IDElementImpl *)p;
      return &(pE->fNode);
  }
  
  
  static inline IDParentNode *castToParentImpl(const IDOM_Node *p) {
      IDElementImpl *pE = (IDElementImpl *)p;
      return &(pE->fParent);
  }
  
  
  static inline IDChildNode *castToChildImpl(const IDOM_Node *p) {
      IDElementImpl *pE = (IDElementImpl *)p;
      if (pE->fNode.isLeafNode())  {
          IDTextImpl *pT = (IDTextImpl *)p;
          return &(pT->fChild);
      }
      return &(pE->fChild);
  }
  
  
  static inline IDOM_Node *castToNode(const IDParentNode *p ) {
      int parentOffset = (char *)&(((IDElementImpl *)0)->fParent) - (char *)0;
      char *retPtr = (char *)p - parentOffset;
      return (IDOM_Node *)retPtr;
  }
  
  static inline IDOM_Node *castToNode(const IDNodeImpl *p) {
      int nodeImplOffset = (char *)&(((IDElementImpl *)0)->fNode) - (char *)0;
      char *retPtr = (char *)p - nodeImplOffset;
      return (IDOM_Node *)retPtr;
  }
  
  
  static inline IDNodeImpl *castToNodeImpl(const IDParentNode *p)
  {
      int nodeImplOffset = (char *)&(((IDElementImpl *)0)->fNode) - (char *)0;
      int parentOffset = (char *)&(((IDElementImpl *)0)->fParent) - (char *)0;
      char *retPtr = (char *)p - parentOffset + nodeImplOffset;
      return (IDNodeImpl *)retPtr;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDChildNode.hpp
  
  Index: IDChildNode.hpp
  ===================================================================
  #ifndef IDChildNode_HEADER_GUARD_
  #define IDChildNode_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDChildNode.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  /**
   * ChildNode adds to NodeImpl the capability of being a child, this is having
   * siblings.
   **/
  
  #include <util/XercesDefs.hpp>
  
  
  class IDOM_Document;
  class IDOM_Node;
  
  
  class CDOM_EXPORT IDChildNode {
  
  public:
      IDOM_Node                *previousSibling;
      IDOM_Node                *nextSibling;
  
      IDChildNode();
      IDChildNode(const IDChildNode &other);
      ~IDChildNode();
  
      IDOM_Node * getNextSibling() const;
      IDOM_Node * getParentNode(const IDOM_Node *thisNode) const;
      IDOM_Node * getPreviousSibling(const IDOM_Node *thisNode) const;
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDOMImplementation.hpp
  
  Index: IDDOMImplementation.hpp
  ===================================================================
  #ifndef IDDOMImplementation_HEADER_GUARD_
  #define IDDOMImplementation_HEADER_GUARD_
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDDOMImplementation.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/05/18 12:37:13  tng
   * IDOM: fix typo to bypass HP aCC error message
   *
   * Revision 1.2  2001/05/11 13:25:40  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:21  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_DOMImplementation.hpp"
  
  class IDDOMImplementation: public IDOM_DOMImplementation {
  private:
      IDDOMImplementation();
      IDDOMImplementation(const IDDOMImplementation & other);
      IDDOMImplementation & operator = (const IDDOMImplementation & other);
  public:
      virtual ~IDDOMImplementation();
      static IDOM_DOMImplementation   *getImplementation();
      virtual bool                         hasFeature(const  XMLCh * feature,  const  XMLCh * version);
      virtual IDOM_DocumentType           *createDocumentType(const XMLCh *qualifiedName,
                                              const XMLCh * publicId, const XMLCh *systemId);
      virtual IDOM_Document               *createDocument(const XMLCh *namespaceURI,
                                              const XMLCh *qualifiedName, IDOM_DocumentType *doctype);
      virtual IDOM_Document               *createDocument();
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDeepNodeListPool.c
  
  Index: IDDeepNodeListPool.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: IDDeepNodeListPool.c,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/06/04 14:55:32  tng
   * IDOM: Add IRange and IDeepNodeList Support.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Include
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <idom/IDDeepNodeListPool.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPool: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> IDDeepNodeListPool<TVal>::IDDeepNodeListPool(
                const unsigned int modulus
              , const bool adoptElems
              , const unsigned int    initSize) :
  	 fAdoptedElems(adoptElems)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
  
      // create default hasher
      fHash = new HashPtr();
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> IDDeepNodeListPool<TVal>::IDDeepNodeListPool(
                const unsigned int modulus
              , const bool adoptElems
              , HashBase* hash
              , const unsigned int    initSize) :
  	 fAdoptedElems(adoptElems)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
      // set hasher
      fHash = hash;
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> IDDeepNodeListPool<TVal>::IDDeepNodeListPool(const unsigned int modulus
              , const unsigned int    initSize) :
  	 fAdoptedElems(true)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
  
      // create default hasher
      fHash = new HashPtr();
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> void IDDeepNodeListPool<TVal>::initialize(const unsigned int modulus)
  {
  	if (modulus == 0)
          ThrowXML(IllegalArgumentException, XMLExcepts::HshTbl_ZeroModulus);
  
      // Allocate the bucket list and zero them
      fBucketList = new IDDeepNodeListPoolTableBucketElem<TVal>*[fHashModulus];
      for (unsigned int index = 0; index < fHashModulus; index++)
          fBucketList[index] = 0;
  }
  
  template <class TVal> IDDeepNodeListPool<TVal>::~IDDeepNodeListPool()
  {
      removeAll();
  
      // Then delete the bucket list & hasher & id pointers list
      delete [] fIdPtrs;
      delete [] fBucketList;
      delete fHash;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPool: Element management
  // ---------------------------------------------------------------------------
  template <class TVal> bool IDDeepNodeListPool<TVal>::isEmpty() const
  {
      // Just check the bucket list for non-empty elements
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          if (fBucketList[buckInd] != 0)
              return false;
      }
      return true;
  }
  
  template <class TVal> bool IDDeepNodeListPool<TVal>::
  containsKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3) const
  {
      unsigned int hashVal;
      const IDDeepNodeListPoolTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      return (findIt != 0);
  }
  
  template <class TVal> void IDDeepNodeListPool<TVal>::removeAll()
  {
      // Clean up the buckets first
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          // Get the bucket list head for this entry
          IDDeepNodeListPoolTableBucketElem<TVal>* curElem = fBucketList[buckInd];
          IDDeepNodeListPoolTableBucketElem<TVal>* nextElem;
          while (curElem)
          {
              // Save the next element before we hose this one
              nextElem = curElem->fNext;
  
              // If we adopted the data, then delete it too
              //    (Note:  the userdata hash table instance has data type of void *.
              //    This will generate compiler warnings here on some platforms, but they
              //    can be ignored since fAdoptedElements is false.
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Then delete the current element and move forward
              delete[] curElem->fKey2;
              delete[] curElem->fKey3;
  
              delete curElem;
              curElem = nextElem;
          }
  
          // Clean out this entry
          fBucketList[buckInd] = 0;
      }
  
      // Reset the id counter
      fIdCounter = 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPool: Getters
  // ---------------------------------------------------------------------------
  template <class TVal> TVal*
  IDDeepNodeListPool<TVal>::getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3)
  {
      unsigned int hashVal;
      IDDeepNodeListPoolTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> const TVal*
  IDDeepNodeListPool<TVal>::getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3) const
  {
      unsigned int hashVal;
      const IDDeepNodeListPoolTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> TVal*
  IDDeepNodeListPool<TVal>::getById(const unsigned int elemId)
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  template <class TVal> const TVal*
  IDDeepNodeListPool<TVal>::getById(const unsigned int elemId) const
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPool: Putters
  // ---------------------------------------------------------------------------
  template <class TVal> unsigned int
  IDDeepNodeListPool<TVal>::put(void* key1, XMLCh* key2, XMLCh* key3, TVal* const valueToAdopt)
  {
      // First see if the key exists already
      unsigned int hashVal;
      IDDeepNodeListPoolTableBucketElem<TVal>* newBucket = findBucketElem(key1, key2, key3, hashVal);
  
      //
      //  If so,then update its value. If not, then we need to add it to
      //  the right bucket
      //
      if (newBucket)
      {
          if (fAdoptedElems)
              delete newBucket->fData;
  
          delete[] newBucket->fKey2;
          delete[] newBucket->fKey3;
  
          newBucket->fData = valueToAdopt;
          newBucket->fKey1 = key1;
          newBucket->fKey2 = key2;
          newBucket->fKey3 = key3;
      }
       else
      {
          newBucket = new IDDeepNodeListPoolTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
          fBucketList[hashVal] = newBucket;
      }
  
      //
      //  Give this new one the next available id and add to the pointer list.
      //  Expand the list if that is now required.
      //
      if (fIdCounter + 1 == fIdPtrsCount)
      {
          // Create a new count 1.5 times larger and allocate a new array
          unsigned int newCount = (unsigned int)(fIdPtrsCount * 1.5);
          TVal** newArray = new TVal*[newCount];
  
          // Copy over the old contents to the new array
          memcpy(newArray, fIdPtrs, fIdPtrsCount * sizeof(TVal*));
  
          // Ok, toss the old array and store the new data
          delete [] fIdPtrs;
          fIdPtrs = newArray;
          fIdPtrsCount = newCount;
      }
      const unsigned int retId = ++fIdCounter;
      fIdPtrs[retId] = valueToAdopt;
  
      // Return the id that we gave to this element
      return retId;
  }
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPool: Private methods
  // ---------------------------------------------------------------------------
  template <class TVal> IDDeepNodeListPoolTableBucketElem<TVal>* IDDeepNodeListPool<TVal>::
  findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      IDDeepNodeListPoolTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
  		if (fHash->equals(key1, curElem->fKey1) && (!XMLString::compareString(key2, curElem->fKey2)) && (!XMLString::compareString(key3, curElem->fKey3)))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  template <class TVal> const IDDeepNodeListPoolTableBucketElem<TVal>* IDDeepNodeListPool<TVal>::
  findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, unsigned int& hashVal) const
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      const IDDeepNodeListPoolTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (fHash->equals(key1, curElem->fKey1) && (!XMLString::compareString(key2, curElem->fKey2)) && (!XMLString::compareString(key3, curElem->fKey3)))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPoolEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> IDDeepNodeListPoolEnumerator<TVal>::
  IDDeepNodeListPoolEnumerator(IDDeepNodeListPool<TVal>* const toEnum, const bool adopt)
  	: fAdoptedElems(adopt), fCurIndex(0), fToEnum(toEnum)
  {
      //
      //  Find the next available bucket element in the pool. We use the id
      //  array since its very easy to enumerator through by just maintaining
      //  an index. If the id counter is zero, then its empty and we leave the
      //  current index to zero.
      //
      if (toEnum->fIdCounter)
          fCurIndex = 1;
  }
  
  template <class TVal> IDDeepNodeListPoolEnumerator<TVal>::~IDDeepNodeListPoolEnumerator()
  {
      if (fAdoptedElems)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDDeepNodeListPoolEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TVal> bool IDDeepNodeListPoolEnumerator<TVal>::hasMoreElements() const
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          return false;
      return true;
  }
  
  template <class TVal> TVal& IDDeepNodeListPoolEnumerator<TVal>::nextElement()
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          ThrowXML(NoSuchElementException, XMLExcepts::Enum_NoMoreElements);
  
      // Return the current element and bump the index
      return *fToEnum->fIdPtrs[fCurIndex++];
  }
  
  template <class TVal> void IDDeepNodeListPoolEnumerator<TVal>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDDeepNodeListPool.hpp
  
  Index: IDDeepNodeListPool.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDDeepNodeListPool.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/06/04 14:55:32  tng
   * IDOM: Add IRange and IDeepNodeList Support.
   *
   */
  
  
  #if !defined(IDDEEPNODELISTPOOL_HPP)
  #define IDDEEPNODELISTPOOL_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/KeyValuePair.hpp>
  #include <util/HashBase.hpp>
  #include <util/IllegalArgumentException.hpp>
  #include <util/NoSuchElementException.hpp>
  #include <util/RuntimeException.hpp>
  #include <util/XMLExceptMsgs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  #include <util/HashBase.hpp>
  #include <util/HashXMLCh.hpp>
  #include <util/HashPtr.hpp>
  
  // This hash table is modified from IDDeepNodeListPoolTableOf with first key as object ptr (IDOM_Node),
  // second and third keys are both XMLCh* string
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TVal> class IDDeepNodeListPoolEnumerator;
  template <class TVal> struct IDDeepNodeListPoolTableBucketElem;
  
  
  //
  //  This should really be a nested class, but some of the compilers we
  //  have to support cannot deal with that!
  //
  template <class TVal> struct IDDeepNodeListPoolTableBucketElem
  {
      IDDeepNodeListPoolTableBucketElem(
                void* key1
                , XMLCh* key2
                , XMLCh* key3
                , TVal* const value
                , IDDeepNodeListPoolTableBucketElem<TVal>* next) :
  		fData(value)
      , fNext(next)
      , fKey1(key1)
      , fKey2(0)
      , fKey3(0)
      {
          if (key2)
              fKey2 = XMLString::replicate(key2);
  
          if (key3)
              fKey3 = XMLString::replicate(key3);
      }
  
      TVal*  fData;
      IDDeepNodeListPoolTableBucketElem<TVal>*   fNext;
      void*  fKey1;
      XMLCh* fKey2;
      XMLCh* fKey3;
  };
  
  
  template <class TVal> class IDDeepNodeListPool
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      // backwards compatability - default hasher is HashXMLCh
      IDDeepNodeListPool
      (
          const unsigned int modulus
        , const unsigned int    initSize = 128
      );
  
      // backwards compatability - default hasher is HashXMLCh
      IDDeepNodeListPool
      (
          const unsigned int modulus
        , const bool adoptElems
        , const unsigned int initSize = 128
      );
  
      // if a hash function is passed in, it will be deleted when the hashtable is deleted.
      // use a new instance of the hasher class for each hashtable, otherwise one hashtable
      // may delete the hasher of a different hashtable if both use the same hasher.
      IDDeepNodeListPool
      (
           const unsigned int modulus
         , const bool adoptElems, HashBase* hash
         , const unsigned int initSize = 128
      );
  
      ~IDDeepNodeListPool();
  
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      bool containsKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3) const;
      void removeAll();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      TVal* getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3);
      const TVal* getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3) const;
  
      TVal* getById(const unsigned elemId);
      const TVal* getById(const unsigned elemId) const;
  
      // -----------------------------------------------------------------------
      //  Putters
      // -----------------------------------------------------------------------
  	unsigned int put(void* key1, XMLCh* key2, XMLCh* key3, TVal* const valueToAdopt);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class IDDeepNodeListPoolEnumerator<TVal>;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      IDDeepNodeListPoolTableBucketElem<TVal>* findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, unsigned int& hashVal);
      const IDDeepNodeListPoolTableBucketElem<TVal>* findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, unsigned int& hashVal) const;
      void initialize(const unsigned int modulus);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table.
      //
      //  fBucketList
      //      This is the array that contains the heads of all of the list
      //      buckets, one for each possible hash value.
      //
      //  fHashModulus
      //      The modulus used for this hash table, to hash the keys. This is
      //      also the number of elements in the bucket list.
      //
      //  fHash
      //      The hasher for the key1 data type.
      //
      //  fIdPtrs
      //  fIdPtrsCount
      //      This is the array of pointers to the bucket elements in order of
      //      their assigned ids. So taking id N and referencing this array
      //      gives you the element with that id. The count field indicates
      //      the current size of this list. When fIdCounter+1 reaches this
      //      value the list must be expanded.
      //
      //  fIdCounter
      //      This is used to give out unique ids to added elements. It starts
      //      at zero (which means empty), and is bumped up for each newly added
      //      element. So the first element is 1, the next is 2, etc... This
      //      means that this value is set to the top index of the fIdPtrs array.
      // -----------------------------------------------------------------------
      bool                                fAdoptedElems;
      IDDeepNodeListPoolTableBucketElem<TVal>** fBucketList;
      unsigned int                        fHashModulus;
      HashBase*                       fHash;
      TVal**                          fIdPtrs;
      unsigned int                    fIdPtrsCount;
      unsigned int                    fIdCounter;
  };
  
  
  
  //
  //  An enumerator for a value array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TVal> class IDDeepNodeListPoolEnumerator : public XMLEnumerator<TVal>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      IDDeepNodeListPoolEnumerator(IDDeepNodeListPool<TVal>* const toEnum, const bool adopt = false);
      ~IDDeepNodeListPoolEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TVal& nextElement();
      void Reset();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Data Members
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table
      //
      //  fCurIndex
      //      This is the current index into the pool's id mapping array. This
      //      is now we enumerate it.
      //
      //  fToEnum
      //      The name id pool that is being enumerated.
      // -----------------------------------------------------------------------
      bool                       fAdoptedElems;
      unsigned int               fCurIndex;
      IDDeepNodeListPool<TVal>*  fToEnum;
  };
  
  #if !defined(XERCES_TMPLSINC)
  #include <idom/IDDeepNodeListPool.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDNodeIDMap.hpp
  
  Index: IDNodeIDMap.hpp
  ===================================================================
  #ifndef IDNodeIDMap_HEADER_GUARD_
  #define IDNodeIDMap_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDNodeIDMap.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  
  
  
  //
  //  Class IDNodeIDMap is a hash table that is used in the implementation of
  //   of DOM_Document::getElementsByID().
  //
  //  Why Yet Another HashTable implementation?  Becuase it can be significantly
  //  smaller when tuned for this exact usage, and the generic RefHashTableOf
  //  from the xerces utils project is not a paricularly good fit.
  //
  class IDOM_Attr;
  class IDOM_Document;
  
  
  class IDNodeIDMap {
  public:
  
      IDNodeIDMap(int initialSize, IDOM_Document *doc);    // Create a new hash table, sized to hold "initialSize"
                                       //  Entries.  It will automatically grow if need be.
  
      virtual ~IDNodeIDMap();
  
  private:
      IDNodeIDMap(const IDNodeIDMap &other);   // No copy, assignement, comparison.
      IDNodeIDMap &operator = (const IDNodeIDMap &other);
      bool operator == (const IDNodeIDMap &other);
  
  public:
      void  add(IDOM_Attr *attr);       // Add the specified attribute to the table.
      void  remove(IDOM_Attr *other);   // Remove the specified attribute.
                                             //   Does nothing if the node is not in the table.
      IDOM_Attr *find(const XMLCh *ID);   // Find the attribute node in the table with this ID
  
  private:
      void growTable();
  
  private:
      IDOM_Attr      **fTable;
      unsigned int  fSizeIndex;              // Index of the current table size in the
                                             //   array of possible table sizes.
  	unsigned int  fSize;                   // The current size of the table array
                                             //   (number of slots, not bytes.)
      unsigned int  fNumEntries;             // The number of entries used.
      unsigned int  fMaxEntries;             // The max number of entries to use before
                                             //   growing the table.
      IDOM_Document *fDoc;                    // The owning document.
  
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDNodeVector.hpp
  
  Index: IDNodeVector.hpp
  ===================================================================
  #ifndef IDNodeVector_HEADER_GUARD_
  #define IDNodeVector_HEADER_GUARD_
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDNodeVector.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:46  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:26  andyh
   * IDOM
   *
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  
  #include <util/XercesDefs.hpp>
  class IDOM_Node;
  class IDOM_Document;
  
  
  class  IDNodeVector {
  private:
      IDOM_Node        **data;
      unsigned int    allocatedSize;
      unsigned int    nextFreeSlot;
      void            init(IDOM_Document *doc, unsigned int size);
      void            checkSpace();
  
  public:
      IDNodeVector(IDOM_Document *doc);
      IDNodeVector(IDOM_Document *doc, unsigned int size);
      ~IDNodeVector();
  
      unsigned int    size();
      IDOM_Node        *elementAt(unsigned int index);
      IDOM_Node        *lastElement();
      void            addElement(IDOM_Node *);
      void            insertElementAt(IDOM_Node *, unsigned int index);
      void            setElementAt(IDOM_Node *val, unsigned int index);
      void            removeElementAt(unsigned int index);
      void            reset();
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM.hpp
  
  Index: IDOM.hpp
  ===================================================================
  #ifndef IDOM_HEADER_GUARD_HPP
  #define IDOM_HEADER_GUARD_HPP
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/06/08 21:23:02  tng
   * IDOM: Remove the non-standard extension where XML Decl as a node
   *
   * Revision 1.3  2001/06/04 20:11:53  tng
   * IDOM: Complete IDNodeIterator, IDTreeWalker, IDNodeFilter.
   *
   * Revision 1.2  2001/05/11 13:25:48  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:26  andyh
   * IDOM
   *
   */
  
  //
  //  This is the primary header file for inclusion in application
  //  programs using the C++ XML Document Object Model API.
  //
  
  #include <idom/IDOM_Attr.hpp>
  #include <idom/IDOM_CDATASection.hpp>
  #include <idom/IDOM_CharacterData.hpp>
  #include <idom/IDOM_Comment.hpp>
  #include <idom/IDOM_Document.hpp>
  #include <idom/IDOM_DocumentFragment.hpp>
  #include <idom/IDOM_DocumentType.hpp>
  #include <idom/IDOM_DOMException.hpp>
  #include <idom/IDOM_DOMImplementation.hpp>
  #include <idom/IDOM_Element.hpp>
  #include <idom/IDOM_Entity.hpp>
  #include <idom/IDOM_EntityReference.hpp>
  #include <idom/IDOM_NamedNodeMap.hpp>
  #include <idom/IDOM_Node.hpp>
  #include <idom/IDOM_NodeFilter.hpp>
  #include <idom/IDOM_NodeIterator.hpp>
  #include <idom/IDOM_NodeList.hpp>
  #include <idom/IDOM_Notation.hpp>
  #include <idom/IDOM_ProcessingInstruction.hpp>
  #include <idom/IDOM_Range.hpp>
  #include <idom/IDOM_RangeException.hpp>
  #include <idom/IDOM_Text.hpp>
  #include <idom/IDOM_TreeWalker.hpp>
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Attr.hpp
  
  Index: IDOM_Attr.hpp
  ===================================================================
  #ifndef IDOM_Attr_HEADER_GUARD_
  #define IDOM_Attr_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Attr.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:48  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:27  andyh
   * IDOM
   *
   */
  
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  class IDOM_Element;
  
  
  /**
  * The <code>IDOM_Attr</code> class refers to an attribute of an XML element.
  *
  * Typically the allowable values for the
  * attribute are defined in a documenttype definition.
  * <p><code>IDOM_Attr</code> objects inherit the <code>DOM_Node</code>  interface, but
  * since attributes are not actually child nodes of the elements they are associated with, the
  * DOM does not consider them part of the document  tree.  Thus, the
  * <code>DOM_Node</code> attributes <code>parentNode</code>,
  * <code>previousSibling</code>, and <code>nextSibling</code> have a  null
  * value for <code>IDOM_Attr</code> objects. The DOM takes the  view that
  * attributes are properties of elements rather than having a  separate
  * identity from the elements they are associated with;  this should make it
  * more efficient to implement such features as default attributes associated
  * with all elements of a  given type.  Furthermore, attribute nodes
  * may not be immediate children of a <code>DocumentFragment</code>. However,
  * they can be associated with <code>Element</code> nodes contained within a
  * <code>DocumentFragment</code>. In short, users of the DOM
  * need to be aware that  <code>Attr</code> nodes have some things in  common
  * with other objects inheriting the <code>Node</code> interface, but they
  * also are quite distinct.
  *
  */
  class CDOM_EXPORT IDOM_Attr: public IDOM_Node {
  
  protected:
      IDOM_Attr() {};
      IDOM_Attr(const IDOM_Attr &other) {};
      IDOM_Attr & operator = (const IDOM_Attr &other) {return *this;};
  
  
  public:
    /** @name Destructor */
    //@{
  	
    /**
      * Destructor.  The object being destroyed is a reference to the Attribute
      * "node", not the underlying attribute itself.
      *
      */
      virtual ~IDOM_Attr() {};
  	//@}
  
    /** @name Getter functions */
    //@{
      /**
      * Returns the name of this attribute.
      */
      virtual const XMLCh *       getName() const = 0;
  
      /**
      *
      * Returns true if the attribute received its value explicitly in the
      * XML document, or if a value was assigned programatically with
      * the setValue function.  Returns false if the attribute value
      * came from the default value declared in the document's DTD.
      */
      virtual bool            getSpecified() const = 0;
  
      /**
  	* Returns the value of the attribute.
  	*
      * The value of the attribute is returned as a string.
      * Character and general entity references are replaced with their values.
      */
      virtual const XMLCh *       getValue() const = 0;
  
  	//@}
    /** @name Setter functions */
    //@{
      /**
  	* Sets the value of the attribute.  A text node with the unparsed contents
      * of the string will be created.
  	*
      * @param value The value of the DOM attribute to be set
      */
      virtual void            setValue(const XMLCh *value) = 0;
  	//@}
  
      /** @name Functions introduced in DOM Level 2. */
      //@{
      /**
       * The <code>DOM_Element</code> node this attribute is attached to or
       * <code>null</code> if this attribute is not in use.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      virtual IDOM_Element     *getOwnerElement() const = 0;
      //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_CDATASection.hpp
  
  Index: IDOM_CDATASection.hpp
  ===================================================================
  #ifndef IDOM_CDataSection_HEADER_GUARD_
  #define IDOM_CDataSection_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_CDATASection.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:49  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:27  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Text.hpp"
  
  
  /**
   * <code>DOM_CDataSection</code> objects refer to the data from an
   * XML CDATA section.  These are used to escape blocks of text containing  characters
   * that would otherwise be regarded as markup.
   *
   * <p>Note that the string data associated with the CDATA section may
   * contain characters that need to be escaped when appearing in an
   * XML document outside of a CDATA section.
   * <p> The <code>IDOM_CDATASection</code> class inherits from the
   * <code>DOM_CharacterData</code> class through the <code>Text</code>
   * interface. Adjacent CDATASection nodes are not merged by use
   * of the Element.normalize() method.
   */
  class CDOM_EXPORT IDOM_CDATASection: public IDOM_Text {
  protected:
      IDOM_CDATASection() {};
      IDOM_CDATASection(const IDOM_CDATASection &other) {};
      IDOM_CDATASection & operator = (const IDOM_CDATASection &other) {return *this;};
  
  
  public:
  
      virtual ~IDOM_CDATASection() {};
  
  };
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_CharacterData.hpp
  
  Index: IDOM_CharacterData.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_CharacterData.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 20:44:14  tng
   * IDOM: Comment should say XMLCh instead of DOMString
   *
   * Revision 1.2  2001/05/11 13:25:49  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:27  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_CharacterData_HEADER_GUARD_
  #define IDOM_CharacterData_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include <idom/IDOM_Node.hpp>
  
  
  /**
   * The <code>IDOM_CharacterData</code> interface extends Node with a set  of
   * methods for accessing character data in the DOM.
   *
   * For clarity this set is defined here rather than on each class that uses
   * these methods. No DOM objects correspond directly to
   * <code>CharacterData</code>, though <code>Text</code> and others do inherit
   * the interface from it. All <code>offset</code>s in this interface start
   * from 0, and index in terms of Unicode 16 bit storage units.
   */
  class CDOM_EXPORT IDOM_CharacterData: public IDOM_Node {
  
  protected:
      IDOM_CharacterData() {};
      IDOM_CharacterData(const IDOM_CharacterData &other) {};
      IDOM_CharacterData & operator = (const IDOM_CharacterData &other) {return *this;};
  
  public:
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for IDOM_CharacterData.  The object being destroyed
        * is the reference to the Character Data node, not the character
        * data itself.
  	  */
      virtual ~IDOM_CharacterData() {};
  
  
      //@}
  
      /** @name Getter functions. */
      //@{
    /**
     * Returns the character data of the node that implements this interface.
     *
     * The DOM implementation may not put arbitrary limits on the amount of data that
     * may be stored in a  <code>CharacterData</code> node. However,
     * implementation limits may  mean that the entirety of a node's data may
     * not fit into a single <code>XMLCh* String</code>. In such cases, the user
     * may call <code>substringData</code> to retrieve the data in
     * appropriately sized pieces.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
     */
    virtual const XMLCh *     getData() const = 0;
    /**
     * Returns the number of characters that are available through <code>data</code> and
     * the <code>substringData</code> method below.
     *
     * This may have the value
     * zero, i.e., <code>CharacterData</code> nodes may be empty.
     */
    virtual unsigned int       getLength() const = 0;
    /**
     * Extracts a range of data from the node.
     *
     * @param offset Start offset of substring to extract.
     * @param count The number of characters to extract.
     * @return The specified substring. If the sum of <code>offset</code> and
     *   <code>count</code> exceeds the <code>length</code>, then all
     *   characters to the end of the data are returned.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
     *   than the number of characters in <code>data</code>, or if the
     *   specified <code>count</code> is negative.
     */
    virtual const XMLCh *     substringData(unsigned int offset,
                                     unsigned int count) const = 0;
      //@}
      /** @name Functions that set or change data. */
      //@{
    /**
     * Append the string to the end of the character data of the node.
     *
     * Upon success, <code>data</code> provides access to the concatenation of
     * <code>data</code> and the <code>XMLCh* String</code> specified.
     * @param arg The <code>XMLCh* String</code> to append.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void               appendData(const XMLCh *arg) = 0;
    /**
     * Insert a string at the specified character offset.
     *
     * @param offset The character offset at which to insert.
     * @param arg The <code>XMLCh* String</code> to insert.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
     *   than the number of characters in <code>data</code>.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void               insertData(unsigned int offset, const  XMLCh *arg) = 0;
    /**
     * Remove a range of characters from the node.
     *
     * Upon success,
     * <code>data</code> and <code>length</code> reflect the change.
     * @param offset The offset from which to remove characters.
     * @param count The number of characters to delete. If the sum of
     *   <code>offset</code> and <code>count</code> exceeds <code>length</code>
     *   then all characters from <code>offset</code> to the end of the data
     *   are deleted.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
     *   than the number of characters in <code>data</code>, or if the
     *   specified <code>count</code> is negative.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void               deleteData(unsigned int offset,
                                  unsigned int count) = 0;
    /**
     * Replace the characters starting at the specified character offset with
     * the specified string.
     *
     * @param offset The offset from which to start replacing.
     * @param count The number of characters to replace. If the sum of
     *   <code>offset</code> and <code>count</code> exceeds <code>length</code>
     *   , then all characters to the end of the data are replaced (i.e., the
     *   effect is the same as a <code>remove</code> method call with the same
     *   range, followed by an <code>append</code> method invocation).
     * @param arg The <code>XMLCh* String</code> with which the range must be
     *   replaced.
     * @exception DOMException
     *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
     *   than the number of characters in <code>data</code>, or if the
     *   specified <code>count</code> is negative.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void               replaceData(unsigned int offset,
                                   unsigned int count,
                                   const XMLCh *arg) = 0;
  
    /**
     * Sets the character data of the node that implements this interface.
     *
     * @param data The <code>XMLCh* String</code> to set.
     */
    virtual void               setData(const XMLCh *data) = 0;
    //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Comment.hpp
  
  Index: IDOM_Comment.hpp
  ===================================================================
  #ifndef IDOM_Comment_HEADER_GUARD_
  #define IDOM_Comment_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Comment.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:49  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:27  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_CharacterData.hpp"
  
  
  /**
   * Class to refer to XML comment nodes in the DOM.
   *
   * <P>The string value contains all of the characters between
   * the starting '<code>&lt;!--</code>' and ending '<code>--&gt;</code>'.
   */
  class CDOM_EXPORT IDOM_Comment: public IDOM_CharacterData {
  
  protected:
      IDOM_Comment() {};
      IDOM_Comment(const IDOM_Comment &other) {};
      IDOM_Comment & operator = (const IDOM_Comment &other) {return *this;};
  
  public:
      virtual ~IDOM_Comment() {};
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DOMException.hpp
  
  Index: IDOM_DOMException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_DOMException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:50  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:29  andyh
   * IDOM
   *
   */
  
  #ifndef IDOMException_HEADER_GUARD_
  #define IDOMException_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  
  /**
    * Encapsulate a general DOM error or warning.
    *
    * <p> The DOM will create and throw an instance of DOMException
    * when an error condition is detected.  Exceptions can occur
    * when an application directly manipulates the DOM document
    * tree that is produced by the parser, or when a document tree
    * is created from scratch using the DOM API.  DOM exceptions will
    * not be generated by the parser while constructing a document
    * tree from an XML source document.
    *
    * <p>Unlike the other classes in the C++ DOM API, DOM_DOMException
    * is NOT a reference to an underlying implementation class, and
    * does not provide automatic memory management.  Code that catches
    * a DOM exception is responsible for deleting it, or otherwise
    * arranging for its disposal.
    *
    */
  class CDOM_EXPORT IDOM_DOMException  {
  public:
      /** @name Enumerators for DOM Exceptions */
      //@{
          enum ExceptionCode {
                  INDEX_SIZE_ERR       = 1,
                  DOMSTRING_SIZE_ERR   = 2,
                  HIERARCHY_REQUEST_ERR = 3,
                  WRONG_DOCUMENT_ERR   = 4,
                  INVALID_CHARACTER_ERR = 5,
                  NO_DATA_ALLOWED_ERR  = 6,
                  NO_MODIFICATION_ALLOWED_ERR = 7,
                  NOT_FOUND_ERR        = 8,
                  NOT_SUPPORTED_ERR    = 9,
                  INUSE_ATTRIBUTE_ERR  = 10,
                  INVALID_STATE_ERR    = 11,
  	       	SYNTAX_ERR	     = 12,
          	INVALID_MODIFICATION_ERR    = 13,
          	NAMESPACE_ERR	     = 14,
          	INVALID_ACCESS_ERR   = 15
          };
      //@}
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for IDOM_DOMException.
        *
        */
      IDOM_DOMException();
  
      /**
        * Constructor which takes an error code and a message.
        *
        * @param code The error code which indicates the exception
        * @param message The string containing the error message
        */
      IDOM_DOMException(short code, const XMLCh *message);
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      IDOM_DOMException(const IDOM_DOMException &other);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for IDOM_DOMException.  Applications are responsible
        * for deleting DOM_Exception objects that they catch after they
        * have completed their exception processing.
  	  *
  	  */
      virtual ~IDOM_DOMException();
      //@}
  
      /** @name Public variables. */
       //@{
  	 /**
  	  * A code value, from the set defined by the ExceptionCode enum,
        * indicating the type of error that occured.
  	  */
     ExceptionCode   code;
  
  	 /**
  	  * A string value.  Applications may use this field to hold an error
        *  message.  The field value is not set by the DOM implementation,
        *  meaning that the string will be empty when an exception is first
        *  thrown.
  	  */
      const XMLCh *msg;
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DOMImplementation.hpp
  
  Index: IDOM_DOMImplementation.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_DOMImplementation.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:50  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:29  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_DOMImplementation_HEADER_GUARD_
  #define IDOM_DOMImplementation_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  
  class IDOM_Document;
  class IDOM_DocumentType;
  
  /**
   *   This class provides a way to query the capabilities of an implementation
   *   of the DOM
   */
  
  
  class CDOM_EXPORT IDOM_DOMImplementation {
   protected:
       IDOM_DOMImplementation() {};                                      // no plain constructor
       IDOM_DOMImplementation(const IDOM_DOMImplementation &other) {};   // no copy construtor.
       IDOM_DOMImplementation & operator = (const IDOM_DOMImplementation &other) {return *this;};  // No Assignment
  
  
   public:
  
       //  Factory method for getting a DOMImplementation object.
       //     The DOM implementation retains ownership of the returned object.
       //     Application code should NOT delete it.
       //
   static IDOM_DOMImplementation *getImplementation();
  
  
  
   virtual ~IDOM_DOMImplementation() {};
  
  virtual bool  hasFeature(const XMLCh *feature,  const XMLCh *version) = 0;
  
  
  
  //  Create a new DocumentType.
  //     Initially the application owns the returned DocumentType object and is responsible
  //        for deleting it.  If the DocumentType is subsequently associated with a Document,
  //        that document becomes the owner of the storage and will delete the document type
  //        when the document is deleted.
  virtual  IDOM_DocumentType *createDocumentType(const XMLCh *qualifiedName,
                                                 const XMLCh *publicId, const XMLCh *systemId) = 0;
  
  
  virtual IDOM_Document *createDocument(const XMLCh *namespaceURI,
                                const XMLCh *qualifiedName, IDOM_DocumentType *doctype) = 0;
  
  // Non-standard extension.  Create a completely empty document that has neither a root
  //          element or a doctype node.
  //
  virtual IDOM_Document *createDocument() = 0;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Document.hpp
  
  Index: IDOM_Document.hpp
  ===================================================================
  #ifndef IDOM_Document_HEADER_GUARD_
  #define IDOM_Document_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDOM_Document.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
  */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  class IDNodeIteratorImpl;
  
  class IDOM_DocumentType;
  class IDOM_Element;
  class IDOM_DocumentFragment;
  class IDOM_Comment;
  class IDOM_CDATASection;
  class IDOM_ProcessingInstruction;
  class IDOM_Attr;
  class IDOM_Entity;
  class IDOM_EntityReference;
  class IDOM_DOMImplementation;
  class IDOM_NodeFilter;
  class IDOM_NodeList;
  class IDOM_Notation;
  class IDOM_Text;
  class IDOM_Node;
  class IDOM_NodeIterator;
  class IDOM_TreeWalker;
  class IDOM_Range;
  
  
  /**
  * Class to refer to XML Document nodes in the IDOM.
  *
  * Conceptually, a IDOM document node is the root of the document tree, and provides
  * the  primary access to the document's data.
  * <p>Since elements, text nodes, comments, processing instructions, etc.
  * cannot exist outside the context of a <code>Document</code>, the
  * <code>Document</code> interface also contains the factory methods needed
  * to create these objects.  The <code>Node</code> objects created have a
  * <code>ownerDocument</code> attribute which associates them with the
  * <code>Document</code> within whose  context they were created.
  */
  class CDOM_EXPORT IDOM_Document: public IDOM_Node {
  
  protected:
      /** @name Constructors and assignment operators */
      //@{
      /**
       * The default constructor for IDOM_Document creates a null
       * IDOM_Document object that refers to no document.  It may subsequently be
       * assigned to refer to an actual Document node.
       *
       * To create a new document, use the DOMImplementation
       *   <code> IDOM_DOMImplementation::createDocument(). </code>
       *
       */
      IDOM_Document() {};
  
      /**
        * Copy constructor.  Creates a new <code>IDOM_Document</code> that refers to the
        * same underlying actual document as the original.
        *
        * @param other The object to be copied
        */
      IDOM_Document(const IDOM_Document &other) {};
      /**
        * Assignment operator
        *
        * @param other The object to be copied
        */
      IDOM_Document & operator = (const IDOM_Document &other) {return *this;};
  
  
  	//@}
  
  public:
    /** @name Destructor */
    //@{
  	
      virtual ~IDOM_Document() {};
  
    //@}
    /** @name Factory methods to create new nodes for the Document */
    //@{
  
      /**
      *  Create a new entity.
      *
      *  Non-standard extension.
      * @param name The name of the entity to instantiate
      *
      */
      virtual IDOM_Entity     *createEntity(const XMLCh *name) = 0;
  
      /**
      * Creates an element of the type specified.
      *
      * Note that the instance returned
      * implements the Element interface, so attributes can be specified
      * directly  on the returned object.
      * @param tagName The name of the element type to instantiate.
      * @return A <code>IDOM_Element</code> that reference the new element.
      * @exception IDOMException
      *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
      *   illegal character.
      */
      virtual IDOM_Element     *createElement(const XMLCh *tagName) = 0;
  
  
  
      /**
      * Creates an empty DocumentFragment object.
      *
      * @return A <code>IDOM_DocumentFragment</code> that references the newly
      * created document fragment.
      */
      virtual IDOM_DocumentFragment   *createDocumentFragment() = 0;
  
      /**
      * Creates a Text node given the specified string.
      *
      * @param data The data for the node.
      * @return A <code>IDOM_Text</code> object that references the newly
      *  created text node.
      */
      virtual IDOM_Text         *createTextNode(const XMLCh *data) = 0;
  
      /**
      * Creates a Comment node given the specified string.
      *
      * @param data The data for the comment.
      * @return A <code>IDOM_Comment</code> that references the newly
      *  created comment node.
      */
      virtual IDOM_Comment      *createComment(const XMLCh *data) = 0;
  
      /**
      * Creates a CDATASection node whose value  is the specified
      * string.
      *
      * @param data The data for the <code>IDOM_CDATASection</code> contents.
      * @return A <code>IDOM_CDATASection</code> object.
      * @exception IDOMException
      *   NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
      */
      virtual IDOM_CDATASection   *createCDATASection(const XMLCh *data) = 0;
  
      /**
      *  Create a DocumentType node.  Non-standard extension.
      *
      * @return A <code>IDOM_DocumentType</code> that references the newly
      *  created DocumentType node.
      *
      */
      virtual IDOM_DocumentType *createDocumentType(const XMLCh *name) = 0;
  
  
      /**
      *  Create a Notation.
      *
      *  Non-standard extension.
      *
      *  @param name The name of the notation to instantiate
      * @return A <code>IDOM_Notation</code> that references the newly
      *  created Notation node.
      */
      virtual IDOM_Notation *createNotation(const XMLCh *name) = 0;
  
  
      /**
      * Creates a ProcessingInstruction node given the specified
      * name and data strings.
      *
      * @param target The target part of the processing instruction.
      * @param data The data for the node.
      * @return A <code>IDOM_ProcessingInstruction</code> that references the newly
      *  created PI node.
      * @exception IDOMException
      *   INVALID_CHARACTER_ERR: Raised if an illegal character is specified.
      */
      virtual IDOM_ProcessingInstruction *createProcessingInstruction(const XMLCh *target,
          const XMLCh *data) = 0;
  
  
      /**
       * Creates an Attr of the given name.
       *
       * Note that the
       * <code>Attr</code> instance can then be attached to an Element
       * using the <code>IDOMElement::setAttribute()</code> method.
       * @param name The name of the attribute.
       * @return A new <CODE>IDOM_Attr</CODE>
       *       object with the <CODE>nodeName</CODE> attribute set to
       *       <CODE>name</CODE>, and <CODE>localName</CODE>, <CODE>prefix</CODE>,
       *       and <CODE>namespaceURI</CODE> set to
       *       <CODE>null</CODE>.
       * @exception IDOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
       *   illegal character.
       */
      virtual IDOM_Attr     *createAttribute(const XMLCh *name) = 0;
  
  
      /**
       * Creates an EntityReference object.
       *
       * @param name The name of the entity to reference.
       * @return A <code>IDOM_EntityReference</code> that references the newly
       *  created EntityReference node.
       * @exception IDOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
       *   illegal character.
       */
      virtual IDOM_EntityReference    *createEntityReference(const XMLCh *name) = 0;
  
  
      /**
       * Creates a NodeIterator object.   (IDOM2)
       *
       * NodeIterators are used to step through a set of nodes, e.g. the set of nodes in a NodeList, the
       * document subtree governed by a particular node, the results of a query, or any other set of nodes.
       * The set of nodes to be iterated is determined by the implementation of the NodeIterator. IDOM Level 2
       * specifies a single NodeIterator implementation for document-order traversal of a document subtree.
       * Instances of these iterators are created by calling <code>DocumentTraversal.createNodeIterator()</code>.
       *
       * To produce a view of the document that has entity references expanded and does not
       * expose the entity reference node itself, use the <code>whatToShow</code> flags to hide the entity
       * reference node and set expandEntityReferences to true when creating the iterator. To
       * produce a view of the document that has entity reference nodes but no entity expansion,
       * use the <code>whatToShow</code> flags to show the entity reference node and set
       * expandEntityReferences to false.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param root The root node of the IDOM tree
       * @param whatToShow This attribute determines which node types are presented via the iterator.
       * @param filter The filter used to screen nodes
       * @param entityReferenceExpansion The value of this flag determines whether the children of entity reference nodes are
       *                   visible to the iterator. If false, they will be skipped over.
       */
  
      virtual IDOM_NodeIterator *createNodeIterator(IDOM_Node         *root,
                                                     unsigned long    whatToShow,
                                                     IDOM_NodeFilter* filter,
                                                     bool             entityReferenceExpansion) = 0;
       /**
       * Creates a TreeWalker object.   (IDOM2)
       *
       * TreeWalker objects are used to navigate a document tree or subtree using the view of the document defined
       * by its whatToShow flags and any filters that are defined for the TreeWalker. Any function which performs
       * navigation using a TreeWalker will automatically support any view defined by a TreeWalker.
       *
       * Omitting nodes from the logical view of a subtree can result in a structure that is substantially different from
       * the same subtree in the complete, unfiltered document. Nodes that are siblings in the TreeWalker view may
       * be children of different, widely separated nodes in the original view. For instance, consider a Filter that skips
       * all nodes except for Text nodes and the root node of a document. In the logical view that results, all text
       * nodes will be siblings and appear as direct children of the root node, no matter how deeply nested the
       * structure of the original document.
       *
       * To produce a view of the document that has entity references expanded
       * and does not expose the entity reference node itself, use the whatToShow
       * flags to hide the entity reference node and set <code>expandEntityReferences</code> to
       * true when creating the TreeWalker. To produce a view of the document
       * that has entity reference nodes but no entity expansion, use the
       * <code>whatToShow</code> flags to show the entity reference node and set
       * <code>expandEntityReferences</code> to false
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param root The root node of the IDOM tree
       * @param whatToShow This attribute determines which node types are presented via the tree-walker.
       * @param filter The filter used to screen nodes
       * @param entityReferenceExpansion The value of this flag determines whether the children of entity reference nodes are
       *                   visible to the tree-walker. If false, they will be skipped over.
       */
  
      virtual IDOM_TreeWalker  *createTreeWalker(IDOM_Node        *root,
                                                 unsigned long     whatToShow,
                                                 IDOM_NodeFilter  *filter,
                                                 bool              entityReferenceExpansion) = 0;
  
      /**
  	  * To create the range  consisting of boundary-points and offset of the
        * selected contents
        *
        * @return The initial state of the Range such that both the boundary-points
        * are positioned at the beginning of the corresponding IDOM_DOcument, before
        * any content. The range returned can only be used to select content
        * associated with this document, or with documentFragments and Attrs for
        * which this document is the ownerdocument
  	  */
      virtual IDOM_Range    *createRange() = 0;
  
      //@}
      /** @name Getter functions */
      //@{
      /**
       * Get Document Type Declaration (see <code>IDOM_DocumentType</code>) associated
       * with  this document.
       *
       * For documents without
       * a document type declaration this returns <code>null</code> reference object. The IDOM Level
       *  1 does not support editing the Document Type Declaration, therefore
       * <code>docType</code> cannot be altered in any way.
       */
      virtual IDOM_DocumentType       *getDoctype() const = 0;
  
  
  
      /**
       * Return the <code>IDOMImplementation</code> object that handles this document.
       */
      virtual IDOM_DOMImplementation  *getImplementation() const = 0;
  
  
      /**
       * Return a reference to the root element of the document.
       */
      virtual IDOM_Element     *getDocumentElement() const = 0;
  
      /**
       * Returns a <code>IDOM_NodeList</code> of all the elements with a
       * given tag name.  The returned node list is "live", in that changes
       * to the document tree made after a nodelist was initially
       * returned will be immediately reflected in the node list.
       *
       * The elements in the node list are ordered in the same order in which they
       * would be encountered in a
       * preorder traversal of the <code>Document</code> tree.
       * @param tagname The name of the tag to match on. The special value "*"
       *   matches all tags.
       * @return A reference to a NodeList containing all the matched
       *   <code>Element</code>s.
       */
      virtual IDOM_NodeList      *getElementsByTagName(const XMLCh *tagname) const = 0;
  
      //@}
      /** @name Functions introduced in IDOM Level 2. */
      //@{
  
      /**
       * Imports a node from another document to this document.
       * The returned node has no parent (<CODE>parentNode</CODE> is
       * <CODE>null</CODE>). The source node is not altered or removed from the
       * original document; this method creates a new copy of the source
       * node.<BR>For all nodes, importing a node creates a node object owned by
       * the importing document, with attribute values identical to the source
       * node's <CODE>nodeName</CODE> and <CODE>nodeType</CODE>, plus the
       * attributes related to namespaces (prefix and namespaces URI).
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param importedNode The node to import.
       * @param deep If <CODE>true</CODE>, recursively import the subtree under the
       *      specified node; if <CODE>false</CODE>, import only the node itself,
       *      as explained above. This does not apply to <CODE>IDOM_Attr</CODE>,
       *      <CODE>IDOM_EntityReference</CODE>, and <CODE>IDOM_Notation</CODE> nodes.
       * @return The imported node that belongs to this <CODE>IDOM_Document</CODE>.
       * @exception IDOMException
       *   NOT_SUPPORTED_ERR: Raised if the type of node being imported is
       *                      not supported.
       */
      virtual IDOM_Node        *importNode(IDOM_Node *importedNode, bool deep) = 0;
  
      /**
       * Creates an element of the given qualified name and
       * namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the element to create.
       * @param qualifiedName The <em>qualified name</em>
       *   of the element type to instantiate.
       * @return A new <code>IDOM_Element</code> object.
       * @exception IDOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
       *                          an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
       *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
       *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
       *      or if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and
       *      the <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/XML/1998/namespace".
       */
      virtual IDOM_Element         *createElementNS(const XMLCh *namespaceURI,
  	                                              const XMLCh *qualifiedName) = 0;
  
      /**
       * Creates an attribute of the given qualified name and namespace
       * URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the attribute to create.
       * @param qualifiedName The <em>qualified name</em>
       *   of the attribute to instantiate.
       * @return A new <code>IDOM_Attr</code> object.
       * @exception IDOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains
       *                          an illegal character.
       * <br>
       *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
       *      malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
       *      <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
       *      if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/XML/1998/namespace", if the
       *      <CODE>qualifiedName</CODE> has a prefix that is "xmlns" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/2000/xmlns/", or if the
       *      <CODE>qualifiedName</CODE> is "xmlns" and the
       *      <CODE>namespaceURI</CODE> is different from
       *      "http://www.w3.org/2000/xmlns/".
       */
      virtual IDOM_Attr        *createAttributeNS(const XMLCh *namespaceURI,
  	                                            const XMLCh *qualifiedName) = 0;
  
      /**
       * Returns a <code>IDOM_NodeList</code> of all the <code>IDOM_Element</code>s
       * with a given <em>local name</em> and
       * namespace URI in the order in which they would be encountered in a
       * preorder traversal of the <code>IDOM_Document</code> tree.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *   the elements to match on. The special value "*" matches all
       *   namespaces.
       * @param localName The <em>local name</em> of the
       *   elements to match on. The special value "*" matches all local names.
       * @return A new <code>IDOM_NodeList</code> object containing all the matched
       *  <code>IDOM_Element</code>s.
       */
      virtual IDOM_NodeList        *getElementsByTagNameNS(const XMLCh *namespaceURI,
  	                                                     const XMLCh *localName) const = 0;
  
      /**
       * Returns the <code>IDOM_Element</code> whose ID is given by <code>elementId</code>.
       * If no such element exists, returns <code>null</code>.
       * Behavior is not defined if more than one element has this <code>ID</code>.
       * <P><B>Note:</B> The IDOM implementation must have information that says
       * which attributes are of type ID. Attributes with the name "ID" are not of
       * type ID unless so defined. Implementations that do not know whether
       * attributes are of type ID or not are expected to return
       * <CODE>null</CODE>.</P>
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param elementId The unique <code>id</code> value for an element.
       * @return The matching element.
       */
      virtual  IDOM_Element        * getElementById(const XMLCh *elementId) const = 0;
  
      //@}
  
  protected:
      friend class IDOM_Node;
      friend class DocumentImpl;
      friend class NodeIteratorImpl;
      friend class IDOM_IDOMImplementation;
  
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DocumentFragment.hpp
  
  Index: IDOM_DocumentFragment.hpp
  ===================================================================
  #ifndef IDOM_DocumentFragment_HEADER_GUARD_
  #define IDOM_DocumentFragment_HEADER_GUARD_
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDOM_DocumentFragment.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  
  /**
   * <code>DocumentFragment</code> is a "lightweight" or "minimal"
   * <code>Document</code> object.
   *
   * It is very common to want to be able to
   * extract a portion of a document's tree or to create a new fragment of a
   * document. Imagine implementing a user command like cut or rearranging a
   * document by moving fragments around. It is desirable to have an object
   * which can hold such fragments and it is quite natural to use a Node for
   * this purpose. While it is true that a <code>Document</code> object could
   * fulfil this role,  a <code>Document</code> object can potentially be a
   * heavyweight  object, depending on the underlying implementation. What is
   * really needed for this is a very lightweight object.
   * <code>DocumentFragment</code> is such an object.
   * <p>Furthermore, various operations -- such as inserting nodes as children
   * of another <code>Node</code> -- may take <code>DocumentFragment</code>
   * objects as arguments;  this results in all the child nodes of the
   * <code>DocumentFragment</code>  being moved to the child list of this node.
   * <p>The children of a <code>DocumentFragment</code> node are zero or more
   * nodes representing the tops of any sub-trees defining the structure of the
   * document. <code>DocumentFragment</code> nodes do not need to be
   * well-formed XML documents (although they do need to follow the rules
   * imposed upon well-formed XML parsed entities, which can have multiple top
   * nodes).  For example, a <code>DocumentFragment</code> might have only one
   * child and that child node could be a <code>Text</code> node. Such a
   * structure model  represents neither an HTML document nor a well-formed XML
   * document.
   * <p>When a <code>DocumentFragment</code> is inserted into a
   * <code>Document</code> (or indeed any other <code>Node</code> that may take
   * children) the children of the <code>DocumentFragment</code> and not the
   * <code>DocumentFragment</code>  itself are inserted into the
   * <code>Node</code>. This makes the <code>DocumentFragment</code> very
   * useful when the user wishes to create nodes that are siblings; the
   * <code>DocumentFragment</code> acts as the parent of these nodes so that the
   *  user can use the standard methods from the <code>Node</code>  interface,
   * such as <code>insertBefore()</code> and  <code>appendChild()</code>.
   */
  
  class CDOM_EXPORT IDOM_DocumentFragment: public IDOM_Node {
  
  protected:
      IDOM_DocumentFragment() {};
      IDOM_DocumentFragment(const IDOM_DocumentFragment &other) {};
      IDOM_DocumentFragment & operator = (const IDOM_DocumentFragment &other) {return *this;};
  	//@}
      /** @name Destructor */
      //@{
  	
  public:
      virtual ~IDOM_DocumentFragment() {};
  
  	//@}
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_DocumentType.hpp
  
  Index: IDOM_DocumentType.hpp
  ===================================================================
  #ifndef IDOM_DocumentType_HEADER_GUARD_
  #define IDOM_DocumentType_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_DocumentType.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:51  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:28  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  class IDOM_NamedNodeMap;
  
  /**
   * Each <code>Document</code> has a <code>doctype</code> whose value
   * is either <code>null</code> or a <code>DocumentType</code> object.
   *
   * The <code>IDOM_DocumentType</code> class provides access
   *  to the list of entities and notations that are defined for the document.
   * <p>The DOM Level 1 doesn't support editing <code>DocumentType</code> nodes.
   */
  class CDOM_EXPORT IDOM_DocumentType: public IDOM_Node {
  protected:
      IDOM_DocumentType() {};
      IDOM_DocumentType(const IDOM_DocumentType &other) {};
      IDOM_DocumentType & operator = (const IDOM_DocumentType &other) {return *this;};
  
  public:
  
      virtual ~IDOM_DocumentType() {};
  
  
  
      /** @name Getter functions. */
      //@{
    /**
     * The name of DTD; i.e., the name immediately following the
     * <code>DOCTYPE</code> keyword in an XML source document.
     */
    virtual const XMLCh *       getName() const = 0;
  
    /**
     * This function returns a  <code>NamedNodeMap</code> containing the general entities, both
     * external and internal, declared in the DTD. Parameter entities are not contained.
     * Duplicates are discarded.
     * <p>
     * Note: this functionality is not implemented in the initial release
     * of the parser, and the returned NamedNodeMap will be empty.
     */
    virtual IDOM_NamedNodeMap *getEntities() const = 0;
  
  
    /**
     * This function returns a named node map containing an entry for
     * each notation declared in a document's DTD.  Duplicates are discarded.
     *
     * <p>
     * Note: this functionality is not implemented in the initial release
     * of the parser, and the returned NamedNodeMap will be empty.
     */
    virtual IDOM_NamedNodeMap *getNotations() const = 0;
    //@}
  
      /** @name Functions introduced in DOM Level 2. */
      //@{
      /**
       * Get the public identifier of the external subset.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The public identifier of the external subset.
       */
      virtual const XMLCh *     getPublicId() const = 0;
  
      /**
       * Get the system identifier of the external subset.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The system identifier of the external subset.
       */
      virtual const XMLCh *     getSystemId() const = 0;
  
      /**
       * Get the internal subset as a string.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @return The internal subset as a string.
       */
      virtual const XMLCh *     getInternalSubset() const = 0;
      //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Element.hpp
  
  Index: IDOM_Element.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Element.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:52  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:29  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_Element_HEADER_GUARD_
  #define IDOM_Element_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  class IDOM_Attr;
  class IDOM_NodeList;
  
  
  /**
   * By far the vast majority of objects (apart from text) that authors
   * encounter when traversing a document are <code>IDOM_Element</code> nodes.
   *
   * Assume the following XML document:&lt;elementExample id="demo"&gt;
   * &lt;subelement1/&gt;
   * &lt;subelement2&gt;&lt;subsubelement/&gt;&lt;/subelement2&gt;
   * &lt;/elementExample&gt;
   * <p>When represented using DOM, the top node is an <code>IDOM_Element</code> node
   * for "elementExample", which contains two child <code>IDOM_Element</code> nodes,
   * one for "subelement1" and one for "subelement2". "subelement1" contains no
   * child nodes.
   * <p>Elements may have attributes associated with them; since the
   * <code>IDOM_Element</code> interface inherits from <code>IDOM_Node</code>, the generic
   *  <code>IDOM_Node</code> interface method <code>getAttributes</code> may be used
   * to retrieve the set of all attributes for an element.  There are methods on
   *  the <code>IDOM_Element</code> interface to retrieve either an <code>IDOM_Attr</code>
   *  object by name or an attribute value by name. In XML, where an attribute
   * value may contain entity references, an <code>IDOM_Attr</code> object should be
   * retrieved to examine the possibly fairly complex sub-tree representing the
   * attribute value. On the other hand, in HTML, where all attributes have
   * simple string values, methods to directly access an attribute value can
   * safely be used as a convenience.
   */
  
  class CDOM_EXPORT IDOM_Element: public IDOM_Node {
  protected:
      IDOM_Element() {};
      IDOM_Element(const IDOM_Element &other) {};
      IDOM_Element & operator = (const IDOM_Element &other) {return *this;};
  
  public:
      /** @name Constructors and assignment operator */
      //@{
  
  
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
        * Destructor.  The object being destroyed is the reference
        * object, not the underlying Element itself.
  	  *
  	  */
      virtual ~IDOM_Element() {};
      //@}
      /** @name Getter functions. */
      //@{
  
    /**
     * The name of the element.
     *
     * For example, in: &lt;elementExample
     * id="demo"&gt;  ... &lt;/elementExample&gt; , <code>tagName</code> has
     * the value <code>"elementExample"</code>. Note that this is
     * case-preserving in XML, as are all of the operations of the DOM.
     */
    virtual const XMLCh *         getTagName() const = 0;
  
    /**
     * Retrieves an attribute value by name.
     *
     * @param name The name of the attribute to retrieve.
     * @return The <code>IDOM_Attr</code> value as a string, or the empty  string if
     *   that attribute does not have a specified or default value.
     */
    virtual const XMLCh *         getAttribute(const XMLCh *name) const = 0;
  
    /**
     * Retrieves an <code>IDOM_Attr</code> node by name.
     *
     * @param name The name (<CODE>nodeName</CODE>) of the attribute to retrieve.
     * @return The <code>IDOM_Attr</code> node with the specified name (<CODE>nodeName</CODE>) or
     *   <code>null</code> if there is no such attribute.
     */
    virtual IDOM_Attr       * getAttributeNode(const XMLCh *name) const = 0;
  
    /**
     * Returns a <code>NodeList</code> of all descendant elements with a given
     * tag name, in the order in which they would be encountered in a preorder
     * traversal of the <code>IDOM_Element</code> tree.
     *
     * @param name The name of the tag to match on. The special value "*"
     *   matches all tags.
     * @return A list of matching <code>IDOM_Element</code> nodes.
     */
    virtual IDOM_NodeList   * getElementsByTagName(const XMLCh *name) const = 0;
  
    //@}
    /** @name Set functions. */
    //@{
  
    /**
     * Adds a new attribute.
     *
     * If an attribute with that name is already present
     * in the element, its value is changed to be that of the value parameter.
     * This value is a simple string, it is not parsed as it is being set. So
     * any markup (such as syntax to be recognized as an entity reference) is
     * treated as literal text, and needs to be appropriately escaped by the
     * implementation when it is written out. In order to assign an attribute
     * value that contains entity references, the user must create an
     * <code>IDOM_Attr</code> node plus any <code>Text</code> and
     * <code>EntityReference</code> nodes, build the appropriate subtree, and
     * use <code>setAttributeNode</code> to assign it as the value of an
     * attribute.
     * @param name The name of the attribute to create or alter.
     * @param value Value to set in string form.
     * @exception DOMException
     *   INVALID_CHARACTER_ERR: Raised if the specified name contains an
     *   illegal character.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
     virtual void             setAttribute(const XMLCh *name,
                                   const XMLCh *value) = 0;
     /**
      * Adds a new attribute.
      *
      * If an attribute with that name (<CODE>nodeName</CODE>) is already present
      * in the element, it is replaced by the new one.
      * @param newAttr The <code>IDOM_Attr</code> node to add to the attribute list.
      * @return If the <code>newAttr</code> attribute replaces an existing
      *   attribute, the replaced
      *   <code>IDOM_Attr</code> node is returned, otherwise <code>null</code> is
      *   returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
      *   different document than the one that created the element.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
      *   attribute of another <code>IDOM_Element</code> object. The DOM user must
      *   explicitly clone <code>IDOM_Attr</code> nodes to re-use them in other
      *   elements.
      */
     virtual IDOM_Attr       * setAttributeNode(IDOM_Attr *newAttr) = 0;
  
     //@}
     /** @name Functions which modify the Element. */
     //@{
    /**
     * Removes the specified attribute node.
     * If the removed <CODE>IDOM_Attr</CODE>
     *   has a default value it is immediately replaced. The replacing attribute
     *   has the same namespace URI and local name, as well as the original prefix,
     *   when applicable.
     *
     * @param oldAttr The <code>IDOM_Attr</code> node to remove from the attribute
     *   list.
     * @return The <code>IDOM_Attr</code> node that was removed.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     *   <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute
     *   of the element.
     */
    virtual IDOM_Attr       * removeAttributeNode(IDOM_Attr *oldAttr) = 0;
  
    /**
     * Removes an attribute by name.
     *
     * If the removed attribute
     *   is known to have a default value, an attribute immediately appears
     *   containing the default value as well as the corresponding namespace URI,
     *   local name, and prefix when applicable.<BR>To remove an attribute by local
     *   name and namespace URI, use the <CODE>removeAttributeNS</CODE> method.
     * @param name The name of the attribute to remove.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void              removeAttribute(const XMLCh *name) = 0;
  
    //@}
    /** @name Functions introduced in DOM Level 2. */
    //@{
  
    /**
     * Retrieves an attribute value by local name and namespace URI.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to retrieve.
     * @param localName The <em>local name</em> of the
     *    attribute to retrieve.
     * @return The <code>IDOM_Attr</code> value as a string, or an <CODE>null</CODE> if
     *    that attribute does not have a specified or default value.
     */
    virtual const XMLCh *         getAttributeNS(const XMLCh *namespaceURI,
  	const XMLCh *localName) const = 0;
  
    /**
     * Adds a new attribute. If an attribute with the same
     * local name and namespace URI is already present on the element, its prefix
     * is changed to be the prefix part of the <CODE>qualifiedName</CODE>, and
     * its value is changed to be the <CODE>value</CODE> parameter. This value is
     * a simple string, it is not parsed as it is being set. So any markup (such
     * as syntax to be recognized as an entity reference) is treated as literal
     * text, and needs to be appropriately escaped by the implementation when it
     * is written out. In order to assign an attribute value that contains entity
     * references, the user must create an <CODE>IDOM_Attr</CODE>
     * node plus any <CODE>IDOM_Text</CODE> and <CODE>IDOM_EntityReference</CODE>
     * nodes, build the appropriate subtree, and use
     * <CODE>setAttributeNodeNS</CODE> or <CODE>setAttributeNode</CODE> to assign
     * it as the value of an attribute.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to create or alter.
     * @param qualifiedName The <em>qualified name</em> of the
     *    attribute to create or alter.
     * @param value The value to set in string form.
     * @exception DOMException
     *   INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an
     *   illegal character.
     *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     * <br>
     *   NAMESPACE_ERR: Raised if the <CODE>qualifiedName</CODE> is
     *        malformed, if the <CODE>qualifiedName</CODE> has a prefix and the
     *        <CODE>namespaceURI</CODE> is <CODE>null</CODE> or an empty string,
     *        if the <CODE>qualifiedName</CODE> has a prefix that is "xml" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/XML/1998/namespace", if the
     *        <CODE>qualifiedName</CODE> has a prefix that is "xmlns" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/2000/xmlns/", or if the
     *        <CODE>qualifiedName</CODE> is "xmlns" and the
     *        <CODE>namespaceURI</CODE> is different from
     *        "http://www.w3.org/2000/xmlns/".
     */
     virtual void             setAttributeNS(const XMLCh *namespaceURI,
  	const XMLCh *qualifiedName, const XMLCh *value) = 0;
  
    /**
     * Removes an attribute by local name and namespace URI. If the
     * removed attribute has a default value it is immediately replaced.
     * The replacing attribute has the same namespace URI and local name, as well as
     * the original prefix.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to remove.
     * @param localName The <em>local name</em> of the
     *    attribute to remove.
     * @exception DOMException
     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
     */
    virtual void              removeAttributeNS(const XMLCh *namespaceURI,
  	const XMLCh *localName) = 0;
  
    /**
     * Retrieves an <code>IDOM_Attr</code> node by local name and namespace URI.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the attribute to retrieve.
     * @param localName The <em>local name</em> of the
     *    attribute to retrieve.
     * @return The <code>IDOM_Attr</code> node with the specified attribute local
     *    name and namespace URI or <code>null</code> if there is no such attribute.
     */
    virtual IDOM_Attr      *  getAttributeNodeNS(const XMLCh *namespaceURI,
  	const XMLCh *localName) const = 0;
  
     /**
      * Adds a new attribute.
      *
      * If an attribute with that local name and namespace URI is already present
      * in the element, it is replaced by the new one.
      *
      * <p><b>"Experimental - subject to change"</b></p>
      *
      * @param newAttr The <code>IDOM_Attr</code> node to add to the attribute list.
      * @return If the <code>newAttr</code> attribute replaces an existing
      *    attribute with the same <em>local name</em> and <em>namespace URI</em>,
      *    the replaced <code>IDOM_Attr</code> node is
      *    returned, otherwise <code>null</code> is returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
      *   different document than the one that created the element.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
      *   attribute of another <code>IDOM_Element</code> object. The DOM user must
      *   explicitly clone <code>IDOM_Attr</code> nodes to re-use them in other
      *   elements.
      */
     virtual IDOM_Attr      *  setAttributeNodeNS(IDOM_Attr *newAttr) = 0;
  
    /**
     * Returns a <code>IDOM_NodeList</code> of all the <code>IDOM_Element</code>s
     * with a given local name and namespace URI in the order in which they
     * would be encountered in a preorder traversal of the
     * <code>IDOM_Document</code> tree, starting from this node.
     *
     * <p><b>"Experimental - subject to change"</b></p>
     *
     * @param namespaceURI The <em>namespace URI</em> of
     *    the elements to match on. The special value "*" matches all
     *    namespaces.
     * @param localName The <em>local name</em> of the
     *    elements to match on. The special value "*" matches all local names.
     * @return A new <code>IDOM_NodeList</code> object containing all the matched
     *    <code>IDOM_Element</code>s.
     */
    virtual IDOM_NodeList   * getElementsByTagNameNS(const XMLCh *namespaceURI,
  	const XMLCh *localName) const = 0;
  
    //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Entity.hpp
  
  Index: IDOM_Entity.hpp
  ===================================================================
  #ifndef IDOM_Entity_HEADER_GUARD_
  #define IDOM_Entity_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Entity.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:52  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:30  andyh
   * IDOM
   *
   */
  
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  
  /**
   * This interface represents an entity, either parsed or unparsed, in an XML
   * document.
   *
   * Note that this models the entity itself not the entity
   * declaration. <code>Entity</code> declaration modeling has been left for a
   * later Level of the DOM specification.
   * <p>The <code>nodeName</code> attribute that is inherited from
   * <code>Node</code> contains the name of the entity.
   * <p>An XML processor may choose to completely expand entities before  the
   * structure model is passed to the DOM; in this case there will be no
   * <code>EntityReference</code> nodes in the document tree.
   *
   * <p>Note: the first release of this parser does not create entity
   *    nodes when reading an XML document.  Entities may be
   *    programatically created using DOM_Document::createEntity().
   */
  class CDOM_EXPORT IDOM_Entity: public IDOM_Node {
  protected:
      IDOM_Entity() {};
      IDOM_Entity(const IDOM_Entity &other) {};
      IDOM_Entity & operator = (const IDOM_Entity &other) {return *this;};
  
  public:
      virtual ~IDOM_Entity() {};
  
      /** @name Get functions. */
      //@{
    /**
     * The public identifier associated with the entity, if specified.
     *
     * If the public identifier was not specified, this is <code>null</code>.
     */
    virtual const XMLCh *        getPublicId() const = 0;
  
    /**
     * The system identifier associated with the entity, if specified.
     *
     * If the system identifier was not specified, this is <code>null</code>.
     */
    virtual const XMLCh *        getSystemId() const = 0;
  
    /**
     * For unparsed entities, the name of the notation for the entity.
     *
     * For parsed entities, this is <code>null</code>.
     */
    virtual const XMLCh *        getNotationName() const = 0;
  
    //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_EntityReference.hpp
  
  Index: IDOM_EntityReference.hpp
  ===================================================================
  #ifndef IDOM_EntityReference_HEADER_GUARD_
  #define IDOM_EntityReference_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_EntityReference.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:52  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:30  andyh
   * IDOM
   *
   */
  
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  
  /**
   * <code>EntityReference</code> nodes will appear in the structure
   * model when an entity reference is in the source document, or when the user
   * wishes to insert an entity reference.
   *
   * The expansion of the entity will appear as child nodes of the entity
   * reference node.  The expansion may be just simple text, or it may
   * be more complex, containing additional entity refs.
   *
  */
  
  class CDOM_EXPORT IDOM_EntityReference: public IDOM_Node {
  protected:
      /** @name Constructors and assignment operator */
      //@{
      IDOM_EntityReference() {};
  
      IDOM_EntityReference(const IDOM_EntityReference &other) {};
  
      IDOM_EntityReference & operator = (const IDOM_EntityReference &other) {return *this;};
  
  public:
      virtual ~IDOM_EntityReference() {};
      //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NamedNodeMap.hpp
  
  Index: IDOM_NamedNodeMap.hpp
  ===================================================================
  #ifndef IDOM_NamedNodeMap_HEADER_GUARD_
  #define IDOM_NamedNodeMap_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_NamedNodeMap.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:53  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:30  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  
  class IDOM_Node;
  
  /**
  *  <code>NamedNodeMap</code>s  are used to
  * represent collections of nodes that can be accessed by name.
  *
  * Note that <code>NamedNodeMap</code> does not inherit from <code>NodeList</code>;
  * <code>NamedNodeMap</code>s are not maintained in any particular order.
  * Nodes contained in a <code>NamedNodeMap</code> may
  * also be accessed by an ordinal index, but this is simply to allow
  * convenient enumeration of the contents, and
  * does not imply that the DOM specifies an order to these Nodes.
  */
  class CDOM_EXPORT IDOM_NamedNodeMap {
  protected:
      IDOM_NamedNodeMap() {};
      IDOM_NamedNodeMap(const IDOM_NamedNodeMap &other) {};
      IDOM_NamedNodeMap & operator = (const IDOM_NamedNodeMap &other) {return *this;};
  
  
  
  public:
      /** @name Destructor. */
      //@{
      virtual ~IDOM_NamedNodeMap() {};
  
      //@}
  
      /** @name Set functions. */
      //@{
  
      /**
      * Adds a node using its <code>nodeName</code> attribute.
      *
      * <br>As the <code>nodeName</code> attribute is used to derive the name
      * which the node must be stored under, multiple nodes of certain types
      * (those that have a "special" string value) cannot be stored as the names
      * would clash. This is seen as preferable to allowing nodes to be aliased.
      * @param arg A node to store in a named node map. The node will later be
      *   accessible using the value of the <code>nodeName</code> attribute of
      *   the node. If a node with that name is already present in the map, it
      *   is replaced by the new one.
      * @return If the new <code>Node</code> replaces an existing node the
      *   replaced <code>Node</code> is returned,
      *   otherwise <code>null</code> is returned.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a
      *   different document than the one that created the
      *   <code>NamedNodeMap</code>.
      *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this
      *   <code>NamedNodeMap</code> is readonly.
      *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an
      *   <code>Attr</code> that is already an attribute of another
      *   <code>Element</code> object. The DOM user must explicitly clone
      *   <code>Attr</code> nodes to re-use them in other elements.
      */
      virtual IDOM_Node   *setNamedItem(IDOM_Node *arg) = 0;
  
      //@}
      /** @name Get functions. */
      //@{
  
      /**
      * Returns the <code>index</code>th item in the map.
      *
      * If <code>index</code>
      * is greater than or equal to the number of nodes in the map, this returns
      * <code>null</code>.
      * @param index Index into the map.
      * @return The node at the <code>index</code>th position in the
      *   <code>NamedNodeMap</code>, or <code>null</code> if that is not a valid
      *   index.
      */
      virtual IDOM_Node     *item(unsigned int index) const = 0;
  
      /**
      * Retrieves a node specified by name.
      *
      * @param name The <code>nodeName</code> of a node to retrieve.
      * @return A <code>IDOM_Node</code> (of any type) with the specified <code>nodeName</code>, or
      *   <code>null</code> if it does not identify any node in
      *   the map.
      */
      virtual IDOM_Node   *getNamedItem(const XMLCh *name) const = 0;
  
      /**
      * The number of nodes in the map.
      *
      * The range of valid child node indices is
      * 0 to <code>length-1</code> inclusive.
      */
      virtual unsigned int   getLength() const = 0;
  
      //@}
      /** @name Functions to change the node collection. */
      //@{
  
      /**
      * Removes a node specified by name.
      *
      * If the removed node is an
      * <code>Attr</code> with a default value it is immediately replaced.
      * @param name The <code>nodeName</code> of a node to remove.
      * @return The node removed from the map or <code>null</code> if no node
      *   with such a name exists.
      * @exception DOMException
      *   NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in
      *   the map.
      * <br>
      *   NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>NamedNodeMap</code>
      *   is readonly.
      */
      virtual IDOM_Node    *removeNamedItem(const XMLCh *name) = 0;
  
      //@}
      /** @name Functions introduced in DOM Level 2. */
      //@{
  
      /**
       * Retrieves a node specified by local name and namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *    the node to retrieve.
       * @param localName The <em>local name</em> of the node to retrieve.
       * @return A <code>IDOM_Node</code> (of any type) with the specified
       *    local name and namespace URI, or <code>null</code> if they do not
       *    identify any node in the map.
       */
      virtual IDOM_Node   *getNamedItemNS(const XMLCh *namespaceURI,
  	                                        const XMLCh *localName) const = 0;
  
      /**
       * Adds a node using its <CODE>namespaceURI</CODE> and <CODE>localName</CODE>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param arg A node to store in a named node map. The node will later be
       *       accessible using the value of the <CODE>namespaceURI</CODE> and
       *       <CODE>localName</CODE> attribute of the node. If a node with those
       *       namespace URI and local name is already present in the map, it is
       *       replaced by the new one.
       * @return If the new <code>IDOM_Node</code> replaces an existing node the
       *   replaced <code>IDOM_Node</code> is returned,
       *   otherwise <code>null</code> is returned.
       * @exception DOMException
       *   WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a
       *   different document than the one that created the
       *   <code>IDOM_NamedNodeMap</code>.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this
       *   <code>vNamedNodeMap</code> is readonly.
       *   <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an
       *   <code>DOM_Attr</code> that is already an attribute of another
       *   <code>DOM_Element</code> object. The DOM user must explicitly clone
       *   <code>DOM_Attr</code> nodes to re-use them in other elements.
       */
      virtual IDOM_Node   *setNamedItemNS(IDOM_Node *arg) = 0;
  
      /**
       * Removes a node specified by local name and namespace URI.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param namespaceURI The <em>namespace URI</em> of
       *    the node to remove.
       * @param localName The <em>local name</em> of the
       *    node to remove. When this <code>IDOM_NamedNodeMap</code> contains the
       *    attributes attached to an element, as returned by the attributes
       *    attribute of the <code>IDOM_Node</code> interface, if the removed
       *    attribute is known to have a default value, an attribute
       *    immediately appears containing the default value
       *    as well as the corresponding namespace URI, local name, and prefix.
       * @return The node removed from the map if a node with such a local name
       *    and namespace URI exists.
       * @exception DOMException
       *   NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in
       *   the map.
       * <br>
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this <code>IDOM_NamedNodeMap</code>
       *   is readonly.
       */
      virtual IDOM_Node     *removeNamedItemNS(const XMLCh *namespaceURI,
  	                                          const XMLCh *localName) = 0;
  
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Node.hpp
  
  Index: IDOM_Node.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDOM_Node.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  #ifndef IDOM_Node_HEADER_GUARD_
  #define IDOM_Node_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  
  
  class IDOM_Document;
  class IDOM_NamedNodeMap;
  class IDOM_NodeList;
  
  /**
   * The <code>Node</code> interface is the primary datatype for the entire
   * Document Object Model.
   *
   * It represents a single node in the document tree.
   * While all objects implementing the <code>Node</code> interface expose
   * methods for dealing with children, not all objects implementing the
   * <code>Node</code> interface may have children. For example,
   * <code>Text</code> nodes may not have children, and adding children to such
   * nodes results in a <code>DOMException</code> being raised.
   * <p>The attributes <code>nodeName</code>, <code>nodeValue</code>  and
   * <code>attributes</code> are  included as a mechanism to get at node
   * information without  casting down to the specific derived interface. In
   * cases where  there is no obvious mapping of these attributes for a specific
   *  <code>nodeType</code> (e.g., <code>nodeValue</code> for an Element  or
   * <code>attributes</code>  for a Comment), this returns <code>null</code>.
   * Note that the  specialized interfaces may contain additional and more
   * convenient mechanisms to get and set the relevant information.
   */
  class  CDOM_EXPORT IDOM_Node {
  
      protected:
      /** @name Constructors and assignment operators */
      //@{
      /**
        * Default constructor for IDOM_Node.  Protected, because
        * IDOM_Node is an abstract base class.
        *
        */
          IDOM_Node() {};
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
          IDOM_Node(const IDOM_Node &other) {};
  
      /**
        * Assignment operator.
        *
        * @param other The source to be assigned.
        */
          IDOM_Node & operator = (const IDOM_Node &other) {return *this;};
  
      public:
  
     //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for IDOM_Node.
  	  *
  	  */
          virtual ~IDOM_Node() {};
  
      //@}
  
  
      enum NodeType {
          ELEMENT_NODE                = 1,
          ATTRIBUTE_NODE              = 2,
          TEXT_NODE                   = 3,
          CDATA_SECTION_NODE          = 4,
          ENTITY_REFERENCE_NODE       = 5,
          ENTITY_NODE                 = 6,
          PROCESSING_INSTRUCTION_NODE = 7,
          COMMENT_NODE                = 8,
          DOCUMENT_NODE               = 9,
          DOCUMENT_TYPE_NODE          = 10,
          DOCUMENT_FRAGMENT_NODE      = 11,
          NOTATION_NODE               = 12,
          XML_DECL_NODE               = 13
      };
  
      /** @name Get functions. */
      //@{
  
      /**
       * The name of this node, depending on its type; see the table above.
       */
      virtual const XMLCh *   getNodeName() const = 0;
  
      /**
       * Gets the value of this node, depending on its type.
       *
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
       */
      virtual const XMLCh *       getNodeValue() const = 0;
  
      /**
       * An enum value representing the type of the underlying object.
       */
      virtual short           getNodeType() const = 0;
  
      /**
       * Gets the parent of this node.
       *
       * All nodes, except <code>Document</code>,
       * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
       * However, if a node has just been created and not yet added to the tree,
       * or if it has been removed from the tree, a <code>null</code> IDOM_Node
       * is returned.
       */
      virtual IDOM_Node        *getParentNode() const = 0;
  
      /**
       * Gets a <code>NodeList</code> that contains all children of this node.
       *
       * If there
       * are no children, this is a <code>NodeList</code> containing no nodes.
       * The content of the returned <code>NodeList</code> is "live" in the sense
       * that, for instance, changes to the children of the node object that
       * it was created from are immediately reflected in the nodes returned by
       * the <code>NodeList</code> accessors; it is not a static snapshot of the
       * content of the node. This is true for every <code>NodeList</code>,
       * including the ones returned by the <code>getElementsByTagName</code>
       * method.
       */
      virtual IDOM_NodeList    *getChildNodes() const = 0;
      /**
       * Gets the first child of this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      virtual IDOM_Node        *getFirstChild() const = 0;
  
      /**
       * Gets the last child of this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      virtual IDOM_Node        *getLastChild() const = 0;
  
      /**
       * Gets the node immediately preceding this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      virtual IDOM_Node        *getPreviousSibling() const = 0;
  
      /**
       * Gets the node immediately following this node.
       *
       * If there is no such node, this returns <code>null</code>.
       */
      virtual IDOM_Node        *getNextSibling() const = 0;
  
      /**
       * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
       * is an <code>Element</code>) or <code>null</code> otherwise.
       */
      virtual IDOM_NamedNodeMap  *getAttributes() const = 0;
  
      /**
       * Gets the <code>IDOM_Document</code> object associated with this node.
       *
       * This is also
       * the <code>IDOM_Document</code> object used to create new nodes. When this
       * node is a <code>IDOM_Document</code> or a <code>IDOM_DocumentType</code>
       * which is not used with any <code>IDOM_Document</code> yet, this is
       * <code>null</code>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      virtual IDOM_Document      *getOwnerDocument() const = 0;
  
  
      //@}
      /** @name Cloning function. */
      //@{
  
      /**
       * Returns a duplicate of this node.
       *
       * This function serves as a generic copy constructor for nodes.
       *
       * The duplicate node has no parent (
       * <code>parentNode</code> returns <code>null</code>.).
       * <br>Cloning an <code>Element</code> copies all attributes and their
       * values, including those generated by the  XML processor to represent
       * defaulted attributes, but this method does not copy any text it contains
       * unless it is a deep clone, since the text is contained in a child
       * <code>Text</code> node. Cloning any other type of node simply returns a
       * copy of this node.
       * @param deep If <code>true</code>, recursively clone the subtree under the
       *   specified node; if <code>false</code>, clone only the node itself (and
       *   its attributes, if it is an <code>Element</code>).
       * @return The duplicate node.
       */
      virtual IDOM_Node        * cloneNode(bool deep) const = 0;
  
      //@}
      /** @name Functions to modify the DOM Node. */
      //@{
  
      /**
       * Inserts the node <code>newChild</code> before the existing child node
       * <code>refChild</code>.
       *
       * If <code>refChild</code> is <code>null</code>,
       * insert <code>newChild</code> at the end of the list of children.
       * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
       * all of its children are inserted, in the same order, before
       * <code>refChild</code>. If the <code>newChild</code> is already in the
       * tree, it is first removed.  Note that a <code>IDOM_Node</code> that
       * has never been assigned to refer to an actual node is == null.
       * @param newChild The node to insert.
       * @param refChild The reference node, i.e., the node before which the new
       *   node must be inserted.
       * @return The node being inserted.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or if
       *   the node to insert is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the node being
       *   inserted is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>refChild</code> is not a child of
       *   this node.
       */
      virtual IDOM_Node       *insertBefore(IDOM_Node *newChild,
                                            IDOM_Node *refChild) = 0;
  
  
      /**
       * Replaces the child node <code>oldChild</code> with <code>newChild</code>
       * in the list of children, and returns the <code>oldChild</code> node.
       *
       * If <CODE>newChild</CODE> is a <CODE>IDOM_DocumentFragment</CODE> object,
       * <CODE>oldChild</CODE> is replaced by all of the <CODE>IDOM_DocumentFragment</CODE>
       * children, which are inserted in the same order.
       *
       * If the <code>newChild</code> is already in the tree, it is first removed.
       * @param newChild The new node to put in the child list.
       * @param oldChild The node being replaced in the list.
       * @return The node replaced.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or it
       *   the node to put in is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the new node is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
       *   this node.
       */
      virtual IDOM_Node  *replaceChild(IDOM_Node *newChild,
                                       IDOM_Node *oldChild) = 0;
      /**
       * Removes the child node indicated by <code>oldChild</code> from the list
       * of children, and returns it.
       *
       * @param oldChild The node being removed.
       * @return The node removed.
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       *   <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
       *   this node.
       */
      virtual IDOM_Node        *removeChild(IDOM_Node *oldChild) = 0;
  
      /**
       * Adds the node <code>newChild</code> to the end of the list of children of
       * this node.
       *
       * If the <code>newChild</code> is already in the tree, it is
       * first removed.
       * @param newChild The node to add.If it is a  <code>DocumentFragment</code>
       *   object, the entire contents of the document fragment are moved into
       *   the child list of this node
       * @return The node added.
       * @exception DOMException
       *   HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
       *   allow children of the type of the <code>newChild</code> node, or if
       *   the node to append is one of this node's ancestors.
       *   <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
       *   from a different document than the one that created this node.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the node being
       *   appended is readonly.
       */
      virtual IDOM_Node        *appendChild(IDOM_Node *newChild) = 0;
  
      //@}
      /** @name Query functions. */
      //@{
  
      /**
       *  This is a convenience method to allow easy determination of whether a
       * node has any children.
       *
       * @return  <code>true</code> if the node has any children,
       *   <code>false</code> if the node has no children.
       */
      virtual bool             hasChildNodes() const = 0;
  
  
  
      //@}
      /** @name Set functions. */
      //@{
  
  
      /**
      * Sets the value of the node.
      *
      * Any node which can have a nodeValue (@see getNodeValue) will
      * also accept requests to set it to a string. The exact response to
      * this varies from node to node -- Attribute, for example, stores
      * its values in its children and has to replace them with a new Text
      * holding the replacement value.
      *
      * For most types of Node, value is null and attempting to set it
      * will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will
      * also be thrown if the node is read-only.
      */
      virtual void              setNodeValue(const XMLCh  *nodeValue) = 0;
  
      //@}
      /** @name Functions introduced in DOM Level 2. */
      //@{
  
      /**
       * Puts all <CODE>IDOM_Text</CODE>
       * nodes in the full depth of the sub-tree underneath this <CODE>IDOM_Node</CODE>,
       * including attribute nodes, into a "normal" form where only markup (e.g.,
       * tags, comments, processing instructions, CDATA sections, and entity
       * references) separates <CODE>IDOM_Text</CODE>
       * nodes, i.e., there are neither adjacent <CODE>IDOM_Text</CODE>
       * nodes nor empty <CODE>IDOM_Text</CODE>
       * nodes. This can be used to ensure that the DOM view of a document is the
       * same as if it were saved and re-loaded, and is useful when operations
       * (such as XPointer lookups) that depend on a particular document tree
       * structure are to be used.
       * <P><B>Note:</B> In cases where the document contains <CODE>IDOM_CDATASections</CODE>,
       * the normalize operation alone may not be sufficient, since XPointers do
       * not differentiate between <CODE>IDOM_Text</CODE>
       * nodes and <CODE>IDOM_CDATASection</CODE>
       * nodes.</P>
       *
       *
       */
      virtual void              normalize() = 0;
  
      /**
       * Tests whether the DOM implementation implements a specific
       * feature and that feature is supported by this node.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * @param feature The string of the feature to test. This is the same
       * name as what can be passed to the method <code>hasFeature</code> on
       * <code>IDOM_DOMImplementation</code>.
       * @param version This is the version number of the feature to test. In
       * Level 2, version 1, this is the string "2.0". If the version is not
       * specified, supporting any version of the feature will cause the
       * method to return <code>true</code>.
       * @return Returns <code>true</code> if the specified feature is supported
       * on this node, <code>false</code> otherwise.
       */
      virtual bool      supports(const XMLCh *feature,
  	                           const XMLCh *version) const = 0;
  
      /**
       * Get the <em>namespace URI</em> of
       * this node, or <code>null</code> if it is unspecified.
       * <p>
       * This is not a computed value that is the result of a namespace lookup
       * based on an examination of the namespace declarations in scope. It is
       * merely the namespace URI given at creation time.
       * <p>
       * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and
       * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method,
       * such as <CODE>createElement</CODE> from the <CODE>IDOM_Document</CODE>
       * interface, this is always <CODE>null</CODE>.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      virtual const XMLCh *         getNamespaceURI() const = 0;
  
      /**
       * Get the <em>namespace prefix</em>
       * of this node, or <code>null</code> if it is unspecified.
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       */
      virtual const XMLCh *          getPrefix() const = 0;
  
      /**
       * Returns the local part of the <em>qualified name</em> of this node.
       * <p>
       * For nodes created with a DOM Level 1 method, such as
       * <code>createElement</code> from the <code>IDOM_Document</code> interface,
       * it is null.
       *
       *
       */
      virtual const XMLCh *          getLocalName() const = 0;
  
      /**
       * Set the <em>namespace prefix</em> of this node.
       * <p>
       * Note that setting this attribute, when permitted, changes
       * the <CODE>nodeName</CODE> attribute, which holds the <EM>qualified
       * name</EM>, as well as the <CODE>tagName</CODE> and <CODE>name</CODE>
       * attributes of the <CODE>IDOM_Element</CODE> and <CODE>IDOM_Attr</CODE>
       * interfaces, when applicable.
       * <p>
       * Note also that changing the prefix of an
       * attribute, that is known to have a default value, does not make a new
       * attribute with the default value and the original prefix appear, since the
       * <CODE>namespaceURI</CODE> and <CODE>localName</CODE> do not change.
       *
       *
       * @param prefix The prefix of this node.
       * @exception DOMException
       *   INVALID_CHARACTER_ERR: Raised if the specified prefix contains
       *                          an illegal character.
       * <br>
       *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       * <br>
       *   NAMESPACE_ERR: Raised if the specified <CODE>prefix</CODE> is
       *      malformed, if the <CODE>namespaceURI</CODE> of this node is
       *      <CODE>null</CODE>, if the specified prefix is "xml" and the
       *      <CODE>namespaceURI</CODE> of this node is different from
       *      "http://www.w3.org/XML/1998/namespace", if this node is an attribute
       *      and the specified prefix is "xmlns" and the
       *      <CODE>namespaceURI</CODE> of this node is different from
       *      "http://www.w3.org/2000/xmlns/", or if this node is an attribute and
       *      the <CODE>qualifiedName</CODE> of this node is "xmlns".
       */
      virtual void              setPrefix(const XMLCh * prefix) = 0;
  
      //@}
  
  
  };
  
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeFilter.hpp
  
  Index: IDOM_NodeFilter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_NodeFilter.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 20:11:53  tng
   * IDOM: Complete IDNodeIterator, IDTreeWalker, IDNodeFilter.
   *
   * Revision 1.2  2001/05/11 13:25:53  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:31  andyh
   * IDOM
   *
   */
  
  // IDOM_NodeFilter.h: interface for the IDOM_NodeFilter class.
  //
  //////////////////////////////////////////////////////////////////////
  
  #ifndef IDOM_NodeFilter_HEADER_GUARD_
  #define IDOM_NodeFilter_HEADER_GUARD_
  
  #include "IDOM_Node.hpp"
  
  class IDNodeFilterImpl;
  
  
  /**
   * Filters are objects that know how to "filter out" nodes. If a
   * <code>IDOM_NodeIterator</code> or <code>IDOM_TreeWalker</code> is given a
   * filter, it applies the filter before it returns the next node.
   *
   * If the filter says to accept the node, the iterator returns it; otherwise, the
   * iterator looks for the next node and pretends that the node that was rejected
   * was not there.
   *
   *  The DOM does not provide any filters. Filter is just an interface that users can
   *  implement to provide their own filters.
   *
   *  Filters do not need to know how to iterate, nor do they need to know anything
   *  about the data structure that is being iterated. This makes it very easy to write
   *  filters, since the only thing they have to know how to do is evaluate a single node.
   *  One filter may be used with a number of different kinds of iterators, encouraging
   *  code reuse.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT IDOM_NodeFilter
  {
      protected:
          IDOM_NodeFilter() {};
          IDOM_NodeFilter(const IDOM_NodeFilter &other) {};
          IDOM_NodeFilter & operator = (const IDOM_NodeFilter &other) {return *this;};
  
      public:
          /** @name Enumerators for Node Filter */
          //@{
          /*
           *    <table><tr><td>FILTER_ACCEPT</td>
           *               <td>Accept the node. Navigation methods defined for
           *               NodeIterator or TreeWalker will return this node.</td>
           *           </tr>
           *           <tr>
           *               <td>FILTER_REJECT</td>
           *               <td>Reject the node. Navigation methods defined for
           *               NodeIterator or TreeWalker will not return this
           *               node. For TreeWalker, the children of this node will
           *               also be rejected. Iterators treat this as a synonym
           *               for FILTER_SKIP.</td>
           *           </tr>
           *           <tr><td>FILTER_SKIP</td>
           *               <td>Reject the node. Navigation methods defined for
           *               NodeIterator or TreeWalker will not return this
           *               node. For both NodeIterator and Treewalker, the
           *               children of this node will still be considered.</td>
           *           </tr>
           *    </table>
           *
           */
          enum FilterAction {FILTER_ACCEPT = 1,
                             FILTER_REJECT = 2,
                             FILTER_SKIP   = 3};
  
          enum ShowType {
              SHOW_ALL                       = 0x0000FFFF,
              SHOW_ELEMENT                   = 0x00000001,
              SHOW_ATTRIBUTE                 = 0x00000002,
              SHOW_TEXT                      = 0x00000004,
              SHOW_CDATA_SECTION             = 0x00000008,
              SHOW_ENTITY_REFERENCE          = 0x00000010,
              SHOW_ENTITY                    = 0x00000020,
              SHOW_PROCESSING_INSTRUCTION    = 0x00000040,
              SHOW_COMMENT                   = 0x00000080,
              SHOW_DOCUMENT                  = 0x00000100,
              SHOW_DOCUMENT_TYPE             = 0x00000200,
              SHOW_DOCUMENT_FRAGMENT         = 0x00000400,
              SHOW_NOTATION                  = 0x00000800
          };
          //@}
  
          /** @name Test function. */
          //@{
          /**
           * Test whether a specified node is visible in the logical view of a IDOM_TreeWalker
           * or IDOM_NodeIterator. This function will be called by the implementation of
           * IDOM_TreeWalker and IDOM_NodeIterator; it is not intended to be called directly from user
           * code.
           *
           * <p><b>"Experimental - subject to change"</b></p>
           *
           * @param node The node to check to see if it passes the filter or not.
           * @return A constant to determine whether the node is accepted, rejected, or skipped.
           */
          virtual short acceptNode (const IDOM_Node* node) const =0;
          //@}
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeIterator.hpp
  
  Index: IDOM_NodeIterator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_NodeIterator.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 20:11:53  tng
   * IDOM: Complete IDNodeIterator, IDTreeWalker, IDNodeFilter.
   *
   * Revision 1.2  2001/05/11 13:25:53  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:31  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_NodeIterator_HEADER_GUARD_
  #define IDOM_NodeIterator_HEADER_GUARD_
  
  #include "IDOM_NodeFilter.hpp"
  #include "IDOM_Node.hpp"
  
  class IDNodeIteratorImpl;
  
  /**
   * NodeIterators are used to step through a set of nodes
   * e.g. the set of nodes in a NodeList, the document subtree governed by
   * a particular node, the results of a query, or any other set of nodes.
   * The set of nodes to be iterated is determined by the implementation
   * of the NodeIterator. DOM Level 2 specifies a single NodeIterator
   * implementation for document-order traversal of a document
   * subtree. Instances of these iterators are created by calling
   * <code>DocumentTraversal.createNodeIterator()</code>.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT IDOM_NodeIterator
  {
      protected:
          IDOM_NodeIterator() {};
          IDOM_NodeIterator(const IDOM_NodeIterator &other) {};
          IDOM_NodeIterator & operator = (const IDOM_NodeIterator &other) {return *this;};
  
      public:
          /** @name Get functions. */
          //@{
          /**
            * Return which node types are presented via the iterator.
            * The available set of constants is defined in the IDOM_NodeFilter interface.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual unsigned long       getWhatToShow() = 0;
  
          /**
            * Return The filter used to screen nodes.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_NodeFilter*     getFilter() = 0;
  
          /**
            * Return the expandEntityReferences flag.
            * The value of this flag determines whether the children of entity reference
            * nodes are visible to the IDOM_NodeFilter. If false, they will be skipped over.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual bool getExpandEntityReferences() = 0;
  
          /**
            * Returns the next node in the set and advances the position of the iterator
            * in the set. After a IDOM_NodeIterator is created, the first call to nextNode()
            * returns the first node in the set.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            * @exception DOMException
            *   INVALID_STATE_ERR: Raised if this method is called after the
            *   <code>detach</code> method was invoked.
            */
          virtual IDOM_Node*           nextNode() = 0;
  
          /**
            * Returns the previous node in the set and moves the position of the iterator
            * backwards in the set.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            * @exception DOMException
            *   INVALID_STATE_ERR: Raised if this method is called after the
            *   <code>detach</code> method was invoked.
            */
          virtual IDOM_Node*           previousNode() = 0;
          //@}
  
          /** @name Detaching functions. */
          //@{
          /**
            * Detaches the iterator from the set which it iterated over, releasing any
            * computational resources and placing the iterator in the INVALID state. After
            * <code>detach</code> has been invoked, calls to <code>nextNode</code> or
            * <code>previousNode</code> will raise the exception INVALID_STATE_ERR.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual void                 detach() = 0;
          //@}
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_NodeList.hpp
  
  Index: IDOM_NodeList.hpp
  ===================================================================
  #ifndef IDOM_NodeList_HEADER_GUARD_
  #define IDOM_NodeList_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_NodeList.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 14:55:35  tng
   * IDOM: Add IRange and IDeepNodeList Support.
   *
   * Revision 1.2  2001/05/11 13:25:54  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:31  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  
  class IDOM_Node;
  
  
  /**
   * The <code>NodeList</code> interface provides the abstraction of an ordered
   * collection of nodes.  NodeLists are created by DOM_Document::getElementsByTagName(),
   * DOM_Node::getChildNodes(),
   *
   * <p>The items in the <code>NodeList</code> are accessible via an integral
   * index, starting from 0.
   *
   * NodeLists are "live", in that any changes to the document tree are immediately
   * reflected in any NodeLists that may have been created for that tree.
   */
  
  class  CDOM_EXPORT IDOM_NodeList {
  protected:
      IDOM_NodeList() {};
      IDOM_NodeList(const IDOM_NodeList &other) {};
      IDOM_NodeList & operator = (const IDOM_NodeList &other) {return *this;};
  
  public:
      /** @name Destructor. */
      //@{
      virtual ~IDOM_NodeList()  {};
      //@}
  
  
  
      /** @name Get functions. */
      //@{
      /**
       * Returns the <code>index</code>th item in the collection.
       *
       * If <code>index</code> is greater than or equal to the number of nodes in
       * the list, this returns <code>null</code>.
       *
       * @param index Index into the collection.
       * @return The node at the <code>index</code>th position in the
       *   <code>NodeList</code>, or <code>null</code> if that is not a valid
       *   index.
       */
      virtual IDOM_Node  *item(unsigned int index) = 0;
  
      /**
       * Returns the number of nodes in the list.
       *
       * The range of valid child node indices is 0 to <code>length-1</code> inclusive.
       */
      virtual unsigned int getLength() = 0;
      //@}
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Notation.hpp
  
  Index: IDOM_Notation.hpp
  ===================================================================
  #ifndef IDOM_Notation_HEADER_GUARD_
  #define IDOM_Notation_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Notation.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:54  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:32  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  
  /**
   * This interface represents a notation declared in the DTD. A notation either
   * declares, by name, the format of an unparsed entity (see section 4.7 of
   * the XML 1.0 specification), or is used for formal declaration of
   * Processing Instruction targets (see section 2.6 of the XML 1.0
   * specification). The <code>nodeName</code> attribute inherited from
   * <code>Node</code> is set to the declared name of the notation.
   * <p>The DOM Level 1 does not support editing <code>Notation</code> nodes;
   * they are therefore readonly.
   * <p>A <code>Notation</code> node does not have any parent.
   */
  class CDOM_EXPORT IDOM_Notation: public IDOM_Node {
  protected:
      IDOM_Notation() {};
      IDOM_Notation(const IDOM_Notation &other) {};
      IDOM_Notation & operator = (const IDOM_Notation &other) {return *this;};
  
  public:
      virtual ~IDOM_Notation() {};
  
      /** @name Get functions. */
      //@{
  
      /**
       * Get the public identifier of this notation.
       *
       * If the  public identifier was not
       * specified, this is <code>null</code>.
       * @return Returns the public identifier of the notation
       */
      virtual const XMLCh *getPublicId() const = 0;
      /**
       * Get the system identifier of this notation.
       *
       * If the  system identifier was not
       * specified, this is <code>null</code>.
       * @return Returns the system identifier of the notation
       */
      virtual const XMLCh *getSystemId() const = 0;
  
  
      //@}
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_ProcessingInstruction.hpp
  
  Index: IDOM_ProcessingInstruction.hpp
  ===================================================================
  #ifndef IDOM_ProcessingInstruction_HEADER_GUARD_
  #define IDOM_ProcessingInstruction_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_ProcessingInstruction.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:54  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:32  andyh
   * IDOM
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_Node.hpp"
  
  
  /**
   * The <code>ProcessingInstruction</code> interface represents a  "processing
   * instruction", used in XML as a way to keep processor-specific information
   * in the text of the document.
   */
  class  CDOM_EXPORT IDOM_ProcessingInstruction: public IDOM_Node {
  protected:
      IDOM_ProcessingInstruction() {};
  
      IDOM_ProcessingInstruction(const IDOM_ProcessingInstruction &other) {};
      IDOM_ProcessingInstruction & operator = (const IDOM_ProcessingInstruction &other) {return *this;};
  
  public:
      virtual ~IDOM_ProcessingInstruction() {};
  
      //@}
      /** @name Get functions. */
      //@{
      /**
       * The target of this processing instruction.
       *
       * XML defines this as being the
       * first token following the markup that begins the processing instruction.
       */
      virtual const XMLCh *        getTarget() const = 0;
  
      /**
       * The content of this processing instruction.
       *
       * This is from the first non
       * white space character after the target to the character immediately
       * preceding the <code>?&gt;</code>.
       * @exception DOMException
       *   NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
       */
      virtual const XMLCh *        getData() const = 0;
  
      //@}
      /** @name Set functions. */
      //@{
      /**
      * Sets the content of this processing instruction.
      *
      * This is from the first non
      * white space character after the target to the character immediately
      * preceding the <code>?&gt;</code>.
      * @param data The string containing the processing instruction
      */
      virtual void             setData(const XMLCh * data) = 0;
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Range.hpp
  
  Index: IDOM_Range.hpp
  ===================================================================
  #ifndef IDOM_Range_HEADER_GUARD_
  #define IDOM_Range_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDOM_Range.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  #include <util/XercesDefs.hpp>
  
  class IDOM_Node;
  class IDOM_DocumentFragment;
  
  class CDOM_EXPORT IDOM_Range {
  protected:
      IDOM_Range() {};
      IDOM_Range(const IDOM_Range &other) {};
      IDOM_Range & operator = (const IDOM_Range &other) {return *this;};
  
  public:
  
      enum CompareHow {
          START_TO_START  = 0,
          START_TO_END    = 1,
          END_TO_END      = 2,
          END_TO_START    = 3
      };
  
      virtual ~IDOM_Range() {};
  
      //getter functions
      virtual IDOM_Node* getStartContainer() const = 0;
      virtual unsigned int getStartOffset() const = 0;
      virtual IDOM_Node* getEndContainer() const = 0;
      virtual unsigned int getEndOffset() const = 0;
      virtual bool getCollapsed() const = 0;
      virtual const IDOM_Node* getCommonAncestorContainer() const = 0;
  
      //setter functions
      virtual void setStart(const IDOM_Node *parent, unsigned int offset) = 0;
      virtual void setEnd(const IDOM_Node *parent, unsigned int offset) = 0;
  
      virtual void setStartBefore(const IDOM_Node *refNode) = 0;
      virtual void setStartAfter(const IDOM_Node *refNode) = 0;
      virtual void setEndBefore(const IDOM_Node *refNode) = 0;
      virtual void setEndAfter(const IDOM_Node *refNode) = 0;
  
      //misc functions
      virtual void collapse(bool toStart) = 0;
      virtual void selectNode(const IDOM_Node *node) = 0;
      virtual void selectNodeContents(const IDOM_Node *node) = 0;
  
      //Functions related to comparing range Boundrary-Points
      virtual short compareBoundaryPoints(CompareHow how, const IDOM_Range* range) const = 0;
      virtual void deleteContents() = 0;
      virtual IDOM_DocumentFragment* extractContents() = 0;
      virtual IDOM_DocumentFragment* cloneContents() const = 0;
      virtual void insertNode(IDOM_Node *node) = 0;
      //Misc functions
      virtual void surroundContents(IDOM_Node *node) = 0;
      virtual IDOM_Range* cloneRange() const = 0;
      virtual const XMLCh* toString() const = 0;
      virtual void detach() = 0;
  
  };
  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_RangeException.hpp
  
  Index: IDOM_RangeException.hpp
  ===================================================================
  #ifndef IDOM_RangeException_HEADER_GUARD_
  #define IDOM_RangeException_HEADER_GUARD_
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_RangeException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 14:55:36  tng
   * IDOM: Add IRange and IDeepNodeList Support.
   *
   * Revision 1.2  2001/05/11 13:25:55  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:32  andyh
   * IDOM
   *
   */
  
  #include <idom/IDOM_DOMException.hpp>
  
  /**
    * Encapsulate range related DOM error or warning. DOM level 2 implementation.
    *
    * <p> The DOM will create and throw an instance of IDOM_RangeException
    * when an error condition in range is detected.  Exceptions can occur
    * when an application directly manipulates the range elements in DOM document
    * tree that is produced by the parser.
    *
    * <p>Unlike the other classes in the C++ DOM API, IDOM_RangeException
    * is NOT a reference to an underlying implementation class, and
    * does not provide automatic memory management.  Code that catches
    * a DOM Range exception is responsible for deleting it, or otherwise
    * arranging for its disposal.
    *
    */
  class CDOM_EXPORT IDOM_RangeException  : public IDOM_DOMException {
  public:
      /** @name Enumerators for DOM Range Exceptions */
      //@{
          enum RangeExceptionCode {
                  BAD_BOUNDARYPOINTS_ERR  = 1,
                  INVALID_NODE_TYPE_ERR   = 2
          };
      //@}
  public:
      /** @name Constructors and assignment operator */
      //@{
      /**
        * Default constructor for IDOM_RangeException.
        *
        */
      IDOM_RangeException();
  
      /**
        * Constructor which takes an error code and a message.
        *
        * @param code The error code which indicates the exception
        * @param message The string containing the error message
        */
      IDOM_RangeException(RangeExceptionCode code, const XMLCh* message);
  
      /**
        * Copy constructor.
        *
        * @param other The object to be copied.
        */
      IDOM_RangeException(const IDOM_RangeException &other);
  
      //@}
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for IDOM_RangeException.  Applications are responsible
        * for deleting IDOM_RangeException objects that they catch after they
        * have completed their exception processing.
  	  *
  	  */
      virtual ~IDOM_RangeException();
      //@}
  
      /** @name Public variables. */
       //@{
  	 /**
  	  * A code value, from the set defined by the RangeExceptionCode enum,
        * indicating the type of error that occured.
  	  */
     RangeExceptionCode   code;
  
      //@}
  
  };
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_Text.hpp
  
  Index: IDOM_Text.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_Text.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:25:55  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:32  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_Text_HEADER_GUARD_
  #define IDOM_Text_HEADER_GUARD_
  
  #include <util/XercesDefs.hpp>
  #include "IDOM_CharacterData.hpp"
  
  
  
  /**
   * The <code>Text</code> interface represents the textual content (termed
   * character  data in XML) of an <code>Element</code> or <code>Attr</code>.
   * If there is no markup inside an element's content, the text is contained
   * in a single object implementing the <code>Text</code> interface that is
   * the only child of the element. If there is markup, it is parsed into a
   * list of elements and <code>Text</code> nodes that form the list of
   * children of the element.
   * <p>When a document is first made available via the DOM, there is  only one
   * <code>Text</code> node for each block of text. Users may create  adjacent
   * <code>Text</code> nodes that represent the  contents of a given element
   * without any intervening markup, but should be aware that there is no way
   * to represent the separations between these nodes in XML, so they
   * will not (in general) persist between DOM editing sessions. The
   * <code>normalize()</code> method on <code>Element</code> merges any such
   * adjacent <code>Text</code> objects into a single node for each block of
   * text; this is  recommended before employing operations that depend on a
   * particular document structure, such as navigation with
   * <code>XPointers.</code>
   */
  class CDOM_EXPORT IDOM_Text: public IDOM_CharacterData {
  
      protected:
      /** @name Constructors and assignment operator */
      //@{
          IDOM_Text() {};
  
          IDOM_Text(const IDOM_Text &other) {};
  
          IDOM_Text & operator = (const IDOM_Text &other) {return *this;};
  
  
      //@}
      public:
      /** @name Destructor. */
      //@{
  	 /**
  	  * Destructor for IDOM_Text. The object being destroyed is the reference
        * object, not the underlying Comment node itself.
  	  *
  	  */
          virtual ~IDOM_Text() {};
  
      //@}
      /** @name Functions to modify the Text node. */
      //@{
  
      /**
       * Breaks this node into two nodes at the specified
       * offset, keeping both in the tree as siblings.
       *
       * This node then only
       * contains all the content up to the <code>offset</code> point. And a new
       * node of the same nodeType, which is inserted as the next sibling of this
       * node, contains all the content at and after the <code>offset</code>
       * point. When the <code>offset</code> is equal to the lenght of this node,
       * the new node has no data.
       * @param offset The offset at which to split, starting from 0.
       * @return The new <code>Text</code> node.
       * @exception DOMException
       *   INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
       *   than the number of characters in <code>data</code>.
       *   <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
       */
      virtual IDOM_Text *splitText(unsigned int offset) = 0;
  
      //@}
      /** @name Non-standard (not defined by the DOM specification) functions. */
      //@{
  
      /**
       *
       * <p><b>"Experimental - subject to change"</b></p>
       *
       * Return true if this node contains ignorable whitespaces only.
       * @return True if this node contains ignorable whitespaces only.
       */
      virtual bool isIgnorableWhitespace() const = 0;
  
      //@}
  
  };
  
  #endif
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDOM_TreeWalker.hpp
  
  Index: IDOM_TreeWalker.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IDOM_TreeWalker.hpp,v $
   * Revision 1.1  2002/03/22 00:41:52  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 20:11:53  tng
   * IDOM: Complete IDNodeIterator, IDTreeWalker, IDNodeFilter.
   *
   * Revision 1.2  2001/05/11 13:25:56  tng
   * Copyright update.
   *
   * Revision 1.1.1.1  2001/04/03 00:14:33  andyh
   * IDOM
   *
   */
  
  #ifndef IDOM_TreeWalker_HEADER_GUARD_
  #define IDOM_TreeWalker_HEADER_GUARD_
  
  #include "IDOM_Node.hpp"
  #include "IDOM_NodeFilter.hpp"
  
  
  /**
   * <code>IDOM_TreeWalker</code> objects are used to navigate a document tree or
   * subtree using the view of the document defined by its <code>whatToShow</code>
   * flags and any filters that are defined for the <code>IDOM_TreeWalker</code>. Any
   * function which performs navigation using a <code>IDOM_TreeWalker</code> will
   * automatically support any view defined by a <code>IDOM_TreeWalker</code>.
   *
   * Omitting nodes from the logical view of a subtree can result in a structure that is
   * substantially different from the same subtree in the complete, unfiltered document. Nodes
   * that are siblings in the IDOM_TreeWalker view may be children of different, widely separated
   * nodes in the original view. For instance, consider a Filter that skips all nodes except for
   * Text nodes and the root node of a document. In the logical view that results, all text
   * nodes will be siblings and appear as direct children of the root node, no matter how
   * deeply nested the structure of the original document.
   *
   * <p><b>"Experimental - subject to change"</b></p>
   *
   */
  class CDOM_EXPORT IDOM_TreeWalker {
      protected:
          IDOM_TreeWalker() {};
          IDOM_TreeWalker(const IDOM_TreeWalker &other) {};
          IDOM_TreeWalker & operator = (const IDOM_TreeWalker &other) {return *this;};
  
      public:
          /** @name Get functions. */
          //@{
          /**
            * Return which node types are presented via the IDOM_TreeWalker.
            * These constants are defined in the IDOM_NodeFilter interface.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual unsigned long   	getWhatToShow()= 0;
  
          /**
            * Return The filter used to screen nodes.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_NodeFilter*		getFilter()= 0;
  
          /**
            * Return the expandEntityReferences flag.
            * The value of this flag determines whether the children of entity reference
            * nodes are visible to the IDOM_TreeWalker. If false, they will be skipped over.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual bool getExpandEntityReferences()= 0;
  
          /**
            * Return the node at which the IDOM_TreeWalker is currently positioned.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		getCurrentNode()= 0;
  
          /**
            * Moves to and returns the closest visible ancestor node of the current node.
            * If the search for parentNode attempts to step upward from the IDOM_TreeWalker's root
            * node, or if it fails to find a visible ancestor node, this method retains the
            * current position and returns null.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		parentNode()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the first child of the current node,
            * and returns the new node. If the current node has no children, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		firstChild()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the last child of the current node, and
            * returns the new node. If the current node has no children, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		lastChild()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the previous sibling of the current
            * node, and returns the new node. If the current node has no previous sibling,
            * returns <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		previousSibling()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the next sibling of the current node,
            * and returns the new node. If the current node has no next sibling, returns
            * <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		nextSibling()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the previous visible node in document
            * order relative to the current node, and returns the new node. If the current
            * node has no previous node,
            * or if the search for previousNode attempts to step upward from the IDOM_TreeWalker's
            * root node, returns <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		previousNode()= 0;
  
          /**
            * Moves the <code>IDOM_TreeWalker</code> to the next visible node in document order
            * relative to the current node, and returns the new node. If the current node has
            * no next node,
            * or if the search for nextNode attempts to step upward from the IDOM_TreeWalker's
            * root node, returns <code>null</code>, and retains the current node.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual IDOM_Node*		nextNode()= 0;
          //@}
  
          /** @name Set functions. */
          //@{
          /**
            * Set the node at which the IDOM_TreeWalker is currently positioned.
            *
            * <p><b>"Experimental - subject to change"</b></p>
            *
            */
          virtual void			setCurrentNode(IDOM_Node* currentNode)= 0;
          //@}
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/idom/IDParentNode.hpp
  
  Index: IDParentNode.hpp
  ===================================================================
  #ifndef IDParentNode_HEADER_GUARD_
  #define IDParentNode_HEADER_GUARD_
  
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  //
  //  This file is part of the internal implementation of the C++ XML DOM.
  //  It should NOT be included or used directly by application programs.
  //
  //  Applications should include the file <dom/DOM.hpp> for the entire
  //  DOM API, or DOM_*.hpp for individual DOM classes, where the class
  //  name is substituded for the *.
  //
  
  /*
   * $Id: IDParentNode.hpp,v 1.1 2002/03/22 00:41:52 sanjiva Exp $
   */
  
  /**
   * ParentNode provides the capability of having child
   * nodes. Not every node in the DOM can have children, so only nodes that can
   * should include this class and pay the price for it.
   * <P>
   * While we have a direct reference to the first child, the last child is
   * stored as the previous sibling of the first child. First child nodes are
   * marked as being so, and getNextSibling hides this fact.
   *
   **/
  
  #include <util/XercesDefs.hpp>
  #include "IDNodeListImpl.hpp"
  
  class IDChildNode;
  class IDOM_Document;
  class IDOM_Node;
  class IDOM_NodeList;
  
  class CDOM_EXPORT IDParentNode  {
  public:
      IDOM_Document            *fOwnerDocument; // Document this node belongs to
      IDOM_Node                *fFirstChild;
      IDNodeListImpl            fChildNodeList;      // for GetChildNodes()
  
  public:
      IDParentNode(IDOM_Document *ownerDocument);
      IDParentNode(const IDParentNode &other);
  
      IDOM_Document * getOwnerDocument() const;
      void setOwnerDocument(IDOM_Document* doc);
  
      // Track changes to the node tree structure under this node.  An optimization
      //   for NodeLists.
      int changes() const;
      void changed();
  
      IDOM_Node     * appendChild(IDOM_Node *newChild);
      IDOM_NodeList * getChildNodes() const;
      IDOM_Node     * getFirstChild() const;
      IDOM_Node     * getLastChild() const;
      unsigned int    getLength() const;
      bool            hasChildNodes() const;
      IDOM_Node     * insertBefore(IDOM_Node *newChild, IDOM_Node *refChild);
      IDOM_Node     * item(unsigned int index) const;
      IDOM_Node     * removeChild(IDOM_Node *oldChild);
      IDOM_Node     * replaceChild(IDOM_Node *newChild, IDOM_Node *oldChild);
  
      //Introduced in DOM Level 2
      void	normalize();
  
      // NON-DOM
      // unlike getOwnerDocument this never returns null, even for Document nodes
      IDOM_Document * getDocument() const;
  
  
  public:
      void cloneChildren(const IDOM_Node *other);
      IDOM_Node * lastChild() const;
      void lastChild(IDOM_Node *);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/CharTypeTables.hpp
  
  Index: CharTypeTables.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CharTypeTables.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/07/26 19:53:02  tng
   * [Bug 2751] Several NameChar characters missing from internal tables .
   *
   * Revision 1.3  2000/02/24 20:18:06  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:52  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:03  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:41  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  These are character type lookup tables. They are included into XMLReader
  //  but are in their own private header in order to keep from making that
  //  file unreadable.
  //
  //  THE RANGES and SINGLES MUST BE IN NUMERICAL ORDER, because the lookup
  //  method will use this info to short circuit the search!
  // ---------------------------------------------------------------------------
  static const XMLCh gBaseChars[] =
  {
      // Ranges
          0x0041, 0x005A, 0x0061, 0x007A, 0x00C0, 0x00D6, 0x00D8, 0x00F6
      ,   0x00F8, 0x00FF
  
      ,   0x0100, 0x0131, 0x0134, 0x013E, 0x0141, 0x0148, 0x014A, 0x017E
      ,   0x0180, 0x01C3, 0x01CD, 0x01F0, 0x01F4, 0x01F5, 0x01FA, 0x0217
      ,   0x0250, 0x02A8, 0x02BB, 0x02C1, 0x0388, 0x038A, 0x038E, 0x03A1
      ,   0x03A3, 0x03CE, 0x03D0, 0x03D6, 0x03E2, 0x03F3, 0x0401, 0x040C
      ,   0x040E, 0x044F, 0x0451, 0x045C, 0x045E, 0x0481, 0x0490, 0x04C4
      ,   0x04C7, 0x04C8, 0x04CB, 0x04CC, 0x04D0, 0x04EB, 0x04EE, 0x04F5
      ,   0x04F8, 0x04F9, 0x0531, 0x0556, 0x0561, 0x0586, 0x05D0, 0x05EA
      ,   0x05F0, 0x05F2, 0x0621, 0x063A, 0x0641, 0x064A, 0x0671, 0x06B7
      ,   0x06BA, 0x06BE, 0x06C0, 0x06CE, 0x06D0, 0x06D3, 0x06E5, 0x06E6
      ,   0x0905, 0x0939, 0x0958, 0x0961, 0x0985, 0x098C, 0x098F, 0x0990
      ,   0x0993, 0x09A8, 0x09AA, 0x09B0, 0x09B6, 0x09B9, 0x09DC, 0x09DD
      ,   0x09DF, 0x09E1, 0x09F0, 0x09F1, 0x0A05, 0x0A0A, 0x0A0F, 0x0A10
      ,   0x0A13, 0x0A28, 0x0A2A, 0x0A30, 0x0A32, 0x0A33, 0x0A35, 0x0A36
      ,   0x0A38, 0x0A39, 0x0A59, 0x0A5C, 0x0A72, 0x0A74, 0x0A85, 0x0A8B
      ,   0x0A8F, 0x0A91, 0x0A93, 0x0AA8, 0x0AAA, 0x0AB0, 0x0AB2, 0x0AB3
      ,   0x0AB5, 0x0AB9, 0x0B05, 0x0B0C, 0x0B0F, 0x0B10, 0x0B13, 0x0B28
      ,   0x0B2A, 0x0B30, 0x0B32, 0x0B33, 0x0B36, 0x0B39, 0x0B5C, 0x0B5D
      ,   0x0B5F, 0x0B61, 0x0B85, 0x0B8A, 0x0B8E, 0x0B90, 0x0B92, 0x0B95
      ,   0x0B99, 0x0B9A, 0x0B9E, 0x0B9F, 0x0BA3, 0x0BA4, 0x0BA8, 0x0BAA
      ,   0x0BAE, 0x0BB5, 0x0BB7, 0x0BB9, 0x0C05, 0x0C0C, 0x0C0E, 0x0C10
      ,   0x0C12, 0x0C28, 0x0C2A, 0x0C33, 0x0C35, 0x0C39, 0x0C60, 0x0C61
      ,   0x0C85, 0x0C8C, 0x0C8E, 0x0C90, 0x0C92, 0x0CA8, 0x0CAA, 0x0CB3
      ,   0x0CB5, 0x0CB9, 0x0CE0, 0x0CE1, 0x0D05, 0x0D0C, 0x0D0E, 0x0D10
      ,   0x0D12, 0x0D28, 0x0D2A, 0x0D39, 0x0D60, 0x0D61, 0x0E01, 0x0E2E
      ,   0x0E32, 0x0E33, 0x0E40, 0x0E45, 0x0E81, 0x0E82, 0x0E87, 0x0E88
      ,   0x0E94, 0x0E97, 0x0E99, 0x0E9F, 0x0EA1, 0x0EA3, 0x0EAA, 0x0EAB
      ,   0x0EAD, 0x0EAE, 0x0EB2, 0x0EB3, 0x0EC0, 0x0EC4, 0x0F40, 0x0F47
      ,   0x0F49, 0x0F69, 0x10A0, 0x10C5, 0x10D0, 0x10F6, 0x1102, 0x1103
      ,   0x1105, 0x1107, 0x110B, 0x110C, 0x110E, 0x1112, 0x1154, 0x1155
      ,   0x115F, 0x1161, 0x116D, 0x116E, 0x1172, 0x1173, 0x11AE, 0x11AF
      ,   0x11B7, 0x11B8, 0x11BC, 0x11C2, 0x1E00, 0x1E9B, 0x1EA0, 0x1EF9
      ,   0x1F00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D
      ,   0x1F50, 0x1F57, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4, 0x1FB6, 0x1FBC
      ,   0x1FC2, 0x1FC4, 0x1FC6, 0x1FCC, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB
      ,   0x1FE0, 0x1FEC, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFC, 0x212A, 0x212B
      ,   0x2180, 0x2182, 0x3041, 0x3094, 0x30A1, 0x30FA, 0x3105, 0x312C
      ,   0xAC00, 0xD7A3
      ,   0x00
  
      // Singles
      ,   0x0386, 0x038C, 0x03DA, 0x03DC, 0x03DE, 0x03E0, 0x0559, 0x06D5
      ,   0x093D, 0x09B2, 0x0A5E, 0x0A8D, 0x0ABD, 0x0AE0, 0x0B3D, 0x0B9C
      ,   0x0CDE, 0x0E30, 0x0E84, 0x0E8A, 0x0E8D, 0x0EA5, 0x0EA7, 0x0EB0
      ,   0x0EBD, 0x1100, 0x1109, 0x113C, 0x113E, 0x1140, 0x114C, 0x114E
      ,   0x1150, 0x1159, 0x1163, 0x1165, 0x1167, 0x1169, 0x1175, 0x119E
      ,   0x11A8, 0x11AB, 0x11BA, 0x11EB, 0x11F0, 0x11F9, 0x1F59, 0x1F5B
      ,   0x1F5D, 0x1FBE, 0x2126, 0x212E
      ,   0x00
  };
  
  
  static const XMLCh gCombiningChars[] =
  {
      // Ranges
          0x0300, 0x0345, 0x0360, 0x0361, 0x0483, 0x0486, 0x0591, 0x05A1
      ,   0x05A3, 0x05B9, 0x05BB, 0x05BD, 0x05C1, 0x05C2, 0x064B, 0x0652
      ,   0x06D6, 0x06DC, 0x06DD, 0x06DF, 0x06E0, 0x06E4
      ,   0x06E7, 0x06E8, 0x06EA, 0x06ED, 0x0901, 0x0903, 0x093E, 0x094C
      ,   0x0951, 0x0954, 0x0962, 0x0963, 0x0981, 0x0983, 0x09C0, 0x09C4
      ,   0x09C7, 0x09C8, 0x09CB, 0x09CD, 0x09E2, 0x09E3, 0x0A40, 0x0A42
      ,   0x0A47, 0x0A48, 0x0A4B, 0x0A4D, 0x0A70, 0x0A71, 0x0A81, 0x0A83
      ,   0x0ABE, 0x0AC5, 0x0AC7, 0x0AC9, 0x0ACB, 0x0ACD, 0x0B01, 0x0B03
      ,   0x0B3E, 0x0B43, 0x0B47, 0x0B48, 0x0B4B, 0x0B4D, 0x0B56, 0x0B57
      ,   0x0B82, 0x0B83, 0x0BBE, 0x0BC2, 0x0BC6, 0x0BC8, 0x0BCA, 0x0BCD
      ,   0x0C01, 0x0C03, 0x0C3E, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4D
      ,   0x0C55, 0x0C56, 0x0C82, 0x0C83, 0x0CBE, 0x0CC4, 0x0CC6, 0x0CC8
      ,   0x0CCA, 0x0CCD, 0x0CD5, 0x0CD6, 0x0D02, 0x0D03, 0x0D3E, 0x0D43
      ,   0x0D46, 0x0D48, 0x0D4A, 0x0D4D, 0x0E34, 0x0E3A, 0x0E47, 0x0E4E
      ,   0x0EB4, 0x0EB9, 0x0EBB, 0x0EBC, 0x0EC8, 0x0ECD, 0x0F18, 0x0F19
      ,   0x0F71, 0x0F84, 0x0F86, 0x0F8B, 0x0F90, 0x0F95, 0x0F99, 0x0FAD
      ,   0x0FB1, 0x0FB7, 0x20D0, 0x20DC, 0x302A, 0x302F
      ,   0x00
  
      // Singles
      ,   0x05BF, 0x05C4, 0x0670
      ,   0x093C, 0x094D, 0x09BC, 0x09BE, 0x09BF, 0x09D7, 0x0A02
      ,   0x0A3C, 0x0A3E, 0x0A3F, 0x0ABC, 0x0B3C, 0x0BD7, 0x0D57, 0x0E31
      ,   0x0EB1, 0x0F35, 0x0F37, 0x0F39, 0x0F3E, 0x0F3F, 0x0F97, 0x0FB9
      ,   0x20E1, 0x3099, 0x309A
      ,   0x00
  };
  
  
  static const XMLCh gDigitChars[] =
  {
      // Ranges
          0x0030, 0x0039, 0x0660, 0x0669, 0x06F0, 0x06F9, 0x0966, 0x096F
      ,   0x09E6, 0x09EF, 0x0A66, 0x0A6F, 0x0AE6, 0x0AEF, 0x0B66, 0x0B6F
      ,   0x0BE7, 0x0BEF, 0x0C66, 0x0C6F, 0x0CE6, 0x0CEF, 0x0D66, 0x0D6F
      ,   0x0E50, 0x0E59, 0x0ED0, 0x0ED9, 0x0F20, 0x0F29
      ,   0x00
  
      // Singles
      ,   0x00
  };
  
  
  static const XMLCh gIdeographicChars[] =
  {
      // Ranges
          0x3021, 0x3029, 0x4E00, 0x9FA5
      ,   0x00
  
      // Singles
      ,   0x3007
      ,   0x00
  };
  
  static const XMLCh gExtenderChars[] =
  {
      // Ranges
          0x3031, 0x3035, 0x309D, 0x309E, 0x30FC, 0x30FE
      ,   0x00
  
      // Singles
      ,   0x00B7, 0x02D0, 0x02D1, 0x0387, 0x0640, 0x0E46, 0x0EC6, 0x3005
      ,   0x00
  };
  
  
  static const XMLCh gLetterChars[] =
  {
      // Ranges
          0x3021, 0x3029, 0x4E00, 0x9FA5
      ,   0x00
  
      // Sngles
      ,   0x3007
      ,   0x00
  };
  
  
  static const XMLCh gPublicIdChars[] =
  {
      // Ranges
          0x0023, 0x0025, 0x0027, 0x003B, 0x003F, 0x005A, 0x0061, 0x007A
      ,   0x00
  
      // Singles
      ,   0x000A, 0x000D, 0x0020, 0x0021, 0x003D, 0x005F
      ,   0x00
  };
  
  
  static const XMLCh gWhitespaceChars[] =
  {
      // Ranges
          0x00
  
      ,   0x0020, 0x0009, 0x000D, 0x000A
      ,   0x00
  };
  
  
  static const XMLCh gXMLChars[] =
  {
      // Ranges
          0x0020, 0xD7FF, 0xE000, 0xFFFD
      ,   0x00
  
      ,   0x0009, 0x000D, 0x000A
      ,   0x00
  };
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/ElemStack.hpp
  
  Index: ElemStack.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ElemStack.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.10  2001/08/07 13:47:47  tng
   * Schema: Fix unmatched end tag for qualified/unqualifed start tag.
   *
   * Revision 1.9  2001/05/28 20:55:19  tng
   * Schema: Store Grammar in ElemStack as well.
   *
   * Revision 1.8  2001/05/11 13:26:16  tng
   * Copyright update.
   *
   * Revision 1.7  2001/05/03 20:34:28  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.6  2001/04/19 18:16:58  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.5  2000/04/18 23:54:29  roddey
   * Got rid of some foward references to no longer used classes.
   *
   * Revision 1.4  2000/03/02 19:54:28  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:52  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:06  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:42  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(ELEMSTACK_HPP)
  #define ELEMSTACK_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/StringPool.hpp>
  #include <util/QName.hpp>
  class XMLElementDecl;
  class Grammar;
  
  //
  //  During the scan of content, we have to keep up with the nesting of
  //  elements (for validation and wellformedness purposes) and we have to
  //  have places to remember namespace (prefix to URI) mappings.
  //
  //  We only have to keep a stack of the current path down through the tree
  //  that we are currently scanning, and keep track of any children of any
  //  elements along that path.
  //
  //  So, this data structure is a stack, which represents the current path
  //  through the tree that we've worked our way down to. For each node in
  //  the stack, there is an array of element ids that represent the ids of
  //  the child elements scanned so far. Upon exit from that element, its
  //  array of child elements is validated.
  //
  //  Since we have the actual XMLElementDecl in the stack nodes, when its time
  //  to validate, we just extract the content model from that element decl
  //  and validate. All the required data falls easily to hand. Note that we
  //  actually have some derivative of XMLElementDecl, which is specific to
  //  the validator used, but the abstract API is sufficient for the needs of
  //  the scanner.
  //
  //  Since the namespace support also requires the storage of information on
  //  a nested element basis, this structure also holds the namespace info. For
  //  each level, the prefixes defined at that level (and the namespaces that
  //  they map to) are stored.
  //
  class XMLPARSER_EXPORT ElemStack
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific data types
      //
      //  These really should be private, but some of the compilers we have to
      //  support are too dumb to deal with that.
      //
      //  PrefMapElem
      //      fURIId is the id of the URI from the validator's URI map. The
      //      fPrefId is the id of the prefix from our own prefix pool. The
      //      namespace stack consists of these elements.
      //
      //  StackElem
      //      fThisElement is the basic element decl for the current element.
      //      The fRowCapacity is how large fChildIds has grown so far.
      //      fChildCount is how many of them are valid right now.
      //
      //      The fMapCapacity is how large fMap has grown so far. fMapCount
      //      is how many of them are valid right now.
      //
      //      Note that we store the reader number we were in when we found the
      //      start tag. We'll use this at the end tag to test for unbalanced
      //      markup in entities.
      //
      //  MapModes
      //      When a prefix is mapped to a namespace id, it matters whether the
      //      QName being mapped is an attribute or name. Attributes are not
      //      affected by an sibling xmlns attributes, whereas elements are
      //      affected by its own xmlns attributes.
      // -----------------------------------------------------------------------
      struct PrefMapElem
      {
          unsigned int        fPrefId;
          unsigned int        fURIId;
      };
  
      struct StackElem
      {
          XMLElementDecl*     fThisElement;
          unsigned int        fReaderNum;
  
          unsigned int        fChildCapacity;
          unsigned int        fChildCount;
          QName**             fChildren;
  
          PrefMapElem*        fMap;
          unsigned int        fMapCapacity;
          unsigned int        fMapCount;
  
          bool                fValidationFlag;
          int                 fCurrentScope;
          Grammar*            fCurrentGrammar;
          unsigned int        fCurrentURI;
      };
  
      enum MapModes
      {
          Mode_Attribute
          , Mode_Element
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ElemStack();
      ~ElemStack();
  
  
      // -----------------------------------------------------------------------
      //  Stack access
      // -----------------------------------------------------------------------
      unsigned int addLevel();
      unsigned int addLevel(XMLElementDecl* const toSet, const unsigned int readerNum);
      XMLElementDecl& elemAt(const unsigned int index);
      const XMLElementDecl& elemAt(const unsigned int index) const;
      const StackElem* popTop();
  
  
      // -----------------------------------------------------------------------
      //  Stack top access
      // -----------------------------------------------------------------------
      unsigned int addChild(QName* const child, const bool toParent);
      const StackElem* topElement() const;
      void setElement(XMLElementDecl* const toSet, const unsigned int readerNum);
  
      void setValidationFlag(bool validationFlag);
      bool getValidationFlag();
  
      void setCurrentScope(int currentScope);
      int getCurrentScope();
  
      void setCurrentGrammar(Grammar* currentGrammar);
      Grammar* getCurrentGrammar();
  
      void setCurrentURI(unsigned int uri);
      unsigned int getCurrentURI();
  
      // -----------------------------------------------------------------------
      //  Prefix map methods
      // -----------------------------------------------------------------------
      void addPrefix
      (
          const   XMLCh* const    prefixToAdd
          , const unsigned int    uriId
      );
      unsigned int mapPrefixToURI
      (
          const   XMLCh* const    prefixToMap
          , const MapModes        mode
          ,       bool&           unknown
      )   const;
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      void reset
      (
          const   unsigned int    emptyId
          , const unsigned int    unknownId
          , const unsigned int    xmlId
          , const unsigned int    xmlNSId
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ElemStack(const ElemStack&);
      void operator=(const ElemStack&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void expandMap(StackElem* const toExpand);
      void expandStack();
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fEmptyNamespaceId
      //      This is the special URI id for the "" namespace, which is magic
      //      because of the xmlns="" operation.
      //
      //  fGlobalPoolId
      //      This is a special URI id that is returned when the namespace
      //      prefix is "" and no one has explicitly mapped that prefix to an
      //      explicit URI (or when they explicitly clear any such mapping,
      //      which they can also do.) And also its prefix pool id, which is
      //      stored here for fast access.
      //
      //  fPrefixPool
      //      This is the prefix pool where prefixes are hashed and given unique
      //      ids. These ids are used to track prefixes in the element stack.
      //
      //  fStack
      //  fStackCapacity
      //  fStackTop
      //      This the stack array. Its an array of pointers to StackElem
      //      structures. The capacity is the current high water mark of the
      //      stack. The top is the current top of stack (i.e. the part of it
      //      being used.)
      //
      //  fUnknownNamespaceId
      //      This is the URI id for the special URI that is assigned to any
      //      prefix which has not been mapped. This lets us keep going after
      //      issuing the error.
      //
      //  fXMLNamespaceId
      //  fXMLPoolId
      //  fXMLNSNamespaceId
      //  fXMLNSPoolId
      //      These are the URI ids for the special URIs that are assigned to
      //      the 'xml' and 'xmlns' namespaces. And also its prefix pool id,
      //      which is stored here for fast access.
      // -----------------------------------------------------------------------
      unsigned int    fEmptyNamespaceId;
      unsigned int    fGlobalPoolId;
      XMLStringPool   fPrefixPool;
      StackElem**     fStack;
      unsigned int    fStackCapacity;
      unsigned int    fStackTop;
      unsigned int    fUnknownNamespaceId;
      unsigned int    fXMLNamespaceId;
      unsigned int    fXMLPoolId;
      unsigned int    fXMLNSNamespaceId;
      unsigned int    fXMLNSPoolId;
  };
  
  
  // ---------------------------------------------------------------------------
  //  ElemStack: Miscellaneous methods
  // ---------------------------------------------------------------------------
  inline bool ElemStack::isEmpty() const
  {
      return (fStackTop == 0);
  }
  
  inline bool ElemStack::getValidationFlag()
  {
      return fStack[fStackTop-1]->fValidationFlag;
  }
  
  inline void ElemStack::setValidationFlag(bool validationFlag)
  {
      fStack[fStackTop-1]->fValidationFlag = validationFlag;
      return;
  }
  
  inline int ElemStack::getCurrentScope()
  {
      return fStack[fStackTop-1]->fCurrentScope;
  }
  
  inline void ElemStack::setCurrentScope(int currentScope)
  {
      fStack[fStackTop-1]->fCurrentScope = currentScope;
      return;
  }
  
  inline Grammar* ElemStack::getCurrentGrammar()
  {
      return fStack[fStackTop-1]->fCurrentGrammar;
  }
  
  inline void ElemStack::setCurrentGrammar(Grammar* currentGrammar)
  {
      fStack[fStackTop-1]->fCurrentGrammar = currentGrammar;
      return;
  }
  
  inline unsigned int ElemStack::getCurrentURI()
  {
      return fStack[fStackTop-1]->fCurrentURI;
  }
  
  inline void ElemStack::setCurrentURI(unsigned int uri)
  {
      fStack[fStackTop-1]->fCurrentURI = uri;
      return;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/EndOfEntityException.hpp
  
  Index: EndOfEntityException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: EndOfEntityException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:47:53  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:07  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:42  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(ENDOFENTITYEXCEPTION_HPP)
  #define ENDOFENTITYEXCEPTION_HPP
  
  class XMLEntityDecl;
  
  //
  //  This class is only used internally. Its thrown by the ReaderMgr class,
  //  when an entity ends, and is caught in the scanner. This tells the scanner
  //  that an entity has ended, and allows it to do the right thing according
  //  to what was going on when the entity ended.
  //
  //  Since its internal, it does not bother implementing XMLException.
  //
  class XMLPARSER_EXPORT EndOfEntityException
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      EndOfEntityException(       XMLEntityDecl*  entityThatEnded
                          , const unsigned int    readerNum) :
  
          fEntity(entityThatEnded)
          , fReaderNum(readerNum)
      {
      }
  
      EndOfEntityException(const EndOfEntityException& toCopy) :
  
          fEntity(toCopy.fEntity)
          , fReaderNum(toCopy.fReaderNum)
      {
      }
  
      ~EndOfEntityException()
      {
      }
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      XMLEntityDecl& getEntity();
      const XMLEntityDecl& getEntity() const;
      unsigned int getReaderNum() const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEntity
      //      This is a reference to the entity that ended, causing this
      //      exception.
      //
      //  fReaderNum
      //      The unique reader number of the reader that was handling this
      //      entity. This is used to know whether a particular entity has
      //      ended.
      // -----------------------------------------------------------------------
      XMLEntityDecl*  fEntity;
      unsigned int    fReaderNum;
  };
  
  
  // ---------------------------------------------------------------------------
  //  EndOfEntityException: Getter methods
  // ---------------------------------------------------------------------------
  inline XMLEntityDecl& EndOfEntityException::getEntity()
  {
      return *fEntity;
  }
  
  inline const XMLEntityDecl& EndOfEntityException::getEntity() const
  {
      return *fEntity;
  }
  
  inline unsigned int EndOfEntityException::getReaderNum() const
  {
      return fReaderNum;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/ReaderMgr.hpp
  
  Index: ReaderMgr.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ReaderMgr.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2001/07/12 18:50:08  tng
   * Some performance modification regarding standalone check and xml decl check.
   *
   * Revision 1.12  2000/09/09 00:18:18  andyh
   * Reordered member variables in ThrowEOEJanitor.  Patch submitted
   * by Kirk Wylie.
   *
   * Revision 1.11  2000/07/08 00:17:13  andyh
   * Cleanup of yesterday's speedup changes.  Merged new bit into the
   * scanner character properties table.
   *
   * Revision 1.10  2000/07/07 01:08:44  andyh
   * Parser speed up in scan of XML content.
   *
   * Revision 1.9  2000/03/02 19:54:29  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.7  2000/02/24 02:12:53  aruna1
   * ReaderMgr:;getReaderDepth() added
   *
   * Revision 1.6  2000/02/06 07:47:53  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/25 01:04:21  roddey
   * Fixes a bogus error about ]]> in char data.
   *
   * Revision 1.4  2000/01/24 20:40:43  roddey
   * Exposed the APIs to get to the byte offset in the source XML buffer. This stuff
   * is not tested yet, but I wanted to get the API changes in now so that the API
   * can be stablized.
   *
   * Revision 1.3  2000/01/12 00:15:04  roddey
   * Changes to deal with multiply nested, relative pathed, entities and to deal
   * with the new URL class changes.
   *
   * Revision 1.2  1999/12/15 19:48:03  roddey
   * Changed to use new split of transcoder interfaces into XML transcoders and
   * LCP transcoders, and implementation of intrinsic transcoders as pluggable
   * transcoders, and addition of Latin1 intrinsic support.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:13  twl
   * Initial checkin
   *
   * Revision 1.4  1999/11/08 20:56:54  droddey
   * If the main xml entity does not exist, we need to get the error handling for that
   * inside the main XMLScanner::scanDocument() try block so that it gets reported
   * in the normal way. We have to add a little extra safety code because, when this
   * happens, there is no reader on the reader stack to get position ino from.
   *
   * Revision 1.3  1999/11/08 20:44:43  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(READERMGR_HPP)
  #define READERMGR_HPP
  
  #include <util/RefStackOf.hpp>
  #include <util/XMLString.hpp>
  #include <sax/Locator.hpp>
  #include <framework/XMLBuffer.hpp>
  #include <internal/XMLReader.hpp>
  
  class XMLBuffer;
  class XMLEntityDecl;
  class XMLEntityHandler;
  class XMLDocumentHandler;
  class XMLScanner;
  
  
  // ---------------------------------------------------------------------------
  //  This class is used by the scanner. The scanner must deal with expansion
  //  of entities, some of which are totally different files (external parsed
  //  entities.) It does so by pushing readers onto a stack. The top reader is
  //  the one it wants to read out of, but that one must be popped when it is
  //  empty. To keep that logic from being all over the place, the scanner
  //  talks to the reader manager, which handles the stack and popping off
  //  used up readers.
  // ---------------------------------------------------------------------------
  class XMLPARSER_EXPORT ReaderMgr : public Locator
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      // -----------------------------------------------------------------------
      struct LastExtEntityInfo
      {
          const   XMLCh*          systemId;
          const   XMLCh*          publicId;
                  unsigned int    lineNumber;
                  unsigned int    colNumber;
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ReaderMgr();
      ~ReaderMgr();
  
  
      // -----------------------------------------------------------------------
      //  Convenience scanning methods
      //
      //  This are all convenience methods that work in terms of the core
      //  character spooling methods.
      // -----------------------------------------------------------------------
      bool atEOF() const;
      bool getName(XMLBuffer& toFill);
      bool getNameToken(XMLBuffer& toFill);
      XMLCh getNextChar();
      bool getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten);
      void movePlainContentChars(XMLBuffer &dest);
      void getSpaces(XMLBuffer& toFill);
      void getUpToCharOrWS(XMLBuffer& toFill, const XMLCh toCheck);
      bool isEmpty() const;
      bool lookingAtChar(const XMLCh toCheck);
      bool lookingAtSpace();
      XMLCh peekNextChar();
      bool skipIfQuote(XMLCh& chGotten);
      void skipPastChar(const XMLCh toSkip);
      bool skipPastSpaces();
      void skipToChar(const XMLCh toSkipTo);
      bool skippedChar(const XMLCh toSkip);
      bool skippedSpace();
      bool skippedString(const XMLCh* const toSkip);
      void skipQuotedString(const XMLCh quoteCh);
      XMLCh skipUntilIn(const XMLCh* const listToSkip);
      XMLCh skipUntilInOrWS(const XMLCh* const listToSkip);
      bool peekString(const XMLCh* const toPeek);
  
  
      // -----------------------------------------------------------------------
      //  Control methods
      // -----------------------------------------------------------------------
      void cleanStackBackTo(const unsigned int readerNum);
      XMLReader* createReader
      (
          const   InputSource&        src
          , const bool                xmlDecl
          , const XMLReader::RefFrom  refFrom
          , const XMLReader::Types    type
          , const XMLReader::Sources  source
      );
      XMLReader* createReader
      (
          const   XMLCh* const        sysId
          , const XMLCh* const        pubId
          , const bool                xmlDecl
          , const XMLReader::RefFrom  refFrom
          , const XMLReader::Types    type
          , const XMLReader::Sources  source
          ,       InputSource*&       srcToFill
      );
      XMLReader* createIntEntReader
      (
          const   XMLCh* const        sysId
          , const XMLReader::RefFrom  refFrom
          , const XMLReader::Types    type
          , const XMLCh* const        dataBuf
          , const unsigned int        dataLen
          , const bool                copyBuf
      );
      bool isScanningPERefOutOfLiteral() const;
      bool pushReader
      (
                  XMLReader* const        reader
          ,       XMLEntityDecl* const    entity
      );
      void reset();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLCh* getCurrentEncodingStr() const;
      const XMLEntityDecl* getCurrentEntity() const;
      XMLEntityDecl* getCurrentEntity();
      const XMLReader* getCurrentReader() const;
      XMLReader* getCurrentReader();
      unsigned int getCurrentReaderNum() const;
      unsigned int getReaderDepth() const;
      void getLastExtEntityInfo(LastExtEntityInfo& lastInfo) const;
      unsigned int getSrcOffset() const;
      bool getThrowEOE() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setEntityHandler(XMLEntityHandler* const newHandler);
      void setThrowEOE(const bool newValue);
  
  
      // -----------------------------------------------------------------------
      //  Implement the SAX Locator interface
      // -----------------------------------------------------------------------
      virtual const XMLCh* getPublicId() const;
      virtual const XMLCh* getSystemId() const;
      virtual int getLineNumber() const;
      virtual int getColumnNumber() const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      const XMLReader* getLastExtEntity(const XMLEntityDecl*& itsEntity) const;
      bool popReader();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fCurEntity
      //      This is the current top of stack entity. We pull it off the stack
      //      and store it here for efficiency.
      //
      //  fCurReader
      //      This is the current top of stack reader. We pull it off the
      //      stack and store it here for efficiency.
      //
      //  fEntityHandler
      //      This is the installed entity handler. Its installed via the
      //      scanner but he passes it on to us since we need it the most, in
      //      process of creating external entity readers.
      //
      //  fEntityStack
      //      We need to keep up with which of the pushed readers are pushed
      //      entity values that are being spooled. This is done to avoid the
      //      problem of recursive definitions. This stack consists of refs to
      //      EntityDecl objects for the pushed entities.
      //
      //  fNextReaderNum
      //      This is the reader serial number value. Each new reader that is
      //      created from this reader is given a successive number. This lets
      //      us catch things like partial markup errors and such.
      //
      //  fReaderStack
      //      This is the stack of reader references. We own all the readers
      //      and destroy them when they are used up.
      //
      //  fThrowEOE
      //      This flag controls whether we throw an exception when we hit an
      //      end of entity. The scanner doesn't really need to know about ends
      //      of entities in the int/ext subsets, so it will turn this flag off
      //      until it gets into the content usually.
      // -----------------------------------------------------------------------
      XMLEntityDecl*              fCurEntity;
      XMLReader*                  fCurReader;
      XMLEntityHandler*           fEntityHandler;
      RefStackOf<XMLEntityDecl>*  fEntityStack;
      unsigned int                fNextReaderNum;
      RefStackOf<XMLReader>*      fReaderStack;
      bool                        fThrowEOE;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  ReaderMgr: Inlined methods
  //
  //  NOTE: We cannot put these in alphabetical and type order as we usually
  //  do because some of the compilers we have to support are too stupid to
  //  understand out of order inlines!
  // ---------------------------------------------------------------------------
  inline unsigned int ReaderMgr::getCurrentReaderNum() const
  {
      return fCurReader->getReaderNum();
  }
  
  inline bool ReaderMgr::getName(XMLBuffer& toFill)
  {
      toFill.reset();
      return fCurReader->getName(toFill, false);
  }
  
  inline bool ReaderMgr::getNameToken(XMLBuffer& toFill)
  {
      toFill.reset();
      return fCurReader->getName(toFill, true);
  }
  
  inline bool ReaderMgr::getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten)
  {
      return fCurReader->getNextCharIfNot(chNotToGet, chGotten);
  }
  
  inline void ReaderMgr::movePlainContentChars(XMLBuffer &dest)
  {
      fCurReader->movePlainContentChars(dest);
  }
  
  inline bool ReaderMgr::getThrowEOE() const
  {
      return fThrowEOE;
  }
  
  inline unsigned int ReaderMgr::getSrcOffset() const
  {
      return fCurReader->getSrcOffset();
  }
  
  inline bool ReaderMgr::lookingAtChar(const XMLCh chToCheck)
  {
      return (chToCheck == peekNextChar());
  }
  
  inline bool ReaderMgr::lookingAtSpace()
  {
      return XMLReader::isWhitespace(peekNextChar());
  }
  
  inline void ReaderMgr::setThrowEOE(const bool newValue)
  {
      fThrowEOE = newValue;
  }
  
  inline bool ReaderMgr::skippedString(const XMLCh* const toSkip)
  {
      return fCurReader->skippedString(toSkip);
  }
  
  inline void ReaderMgr::skipToChar(const XMLCh toSkipTo)
  {
      while (true)
      {
          // Get chars until we find the one to skip
          const XMLCh nextCh = getNextChar();
  
          // Break out at end of input or the char to skip
          if ((nextCh == toSkipTo) || !nextCh)
              break;
      }
  }
  
  inline void ReaderMgr::skipPastChar(const XMLCh toSkipPast)
  {
      while (true)
      {
          // Get chars until we find the one to skip
          const XMLCh nextCh = getNextChar();
  
          if ((nextCh == toSkipPast) || !nextCh)
              break;
      }
  }
  
  inline bool ReaderMgr::peekString(const XMLCh* const toPeek)
  {
      return fCurReader->peekString(toPeek);
  }
  
  inline void ReaderMgr::setEntityHandler(XMLEntityHandler* const newHandler)
  {
      fEntityHandler = newHandler;
  }
  
  
  //
  //  This is a simple class to temporarily change the 'throw at end of entity'
  //  flag of the reader manager. There are some places where we need to
  //  turn this on and off on a scoped basis.
  //
  class XMLPARSER_EXPORT ThrowEOEJanitor
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and destructor
      // -----------------------------------------------------------------------
      ThrowEOEJanitor(ReaderMgr* mgrTarget, const bool newValue) :
  
          fOld(mgrTarget->getThrowEOE())
          , fMgr(mgrTarget)
      {
          mgrTarget->setThrowEOE(newValue);
      }
  
      ~ThrowEOEJanitor()
      {
          fMgr->setThrowEOE(fOld);
      };
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fOld
      //      The previous value of the flag, which we replaced during ctor,
      //      and will replace during dtor.
      //
      //  fMgr
      //      A pointer to the reader manager we are going to set/reset the
      //      flag on.
      // -----------------------------------------------------------------------
      bool        fOld;
      ReaderMgr*  fMgr;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/VecAttrListImpl.hpp
  
  Index: VecAttrListImpl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: VecAttrListImpl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:47:53  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/15 19:49:37  roddey
   * Added second getValue() method which takes a short name for the attribute
   * to get the value for. Just a convenience method.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:19  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:45  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(VECATTRLISTIMPL_HPP)
  #define VECATTRLISTIMPL_HPP
  
  #include <sax/AttributeList.hpp>
  #include <framework/XMLAttr.hpp>
  #include <util/RefVectorOf.hpp>
  
  class XMLPARSER_EXPORT VecAttrListImpl : public AttributeList
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      VecAttrListImpl();
      ~VecAttrListImpl();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the attribute list interface
      // -----------------------------------------------------------------------
      virtual unsigned int getLength() const;
      virtual const XMLCh* getName(const unsigned int index) const;
      virtual const XMLCh* getType(const unsigned int index) const;
      virtual const XMLCh* getValue(const unsigned int index) const;
      virtual const XMLCh* getType(const XMLCh* const name) const;
      virtual const XMLCh* getValue(const XMLCh* const name) const;
      virtual const XMLCh* getValue(const char* const name) const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setVector
      (
          const   RefVectorOf<XMLAttr>* const srcVec
          , const unsigned int                count
          , const bool                        adopt = false
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      VecAttrListImpl(const VecAttrListImpl&);
      void operator=(const VecAttrListImpl&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAdopt
      //      Indicates whether the passed vector is to be adopted or not. If
      //      so, we destroy it when we are destroyed (and when a new vector is
      //      set!)
      //
      //  fCount
      //      The count of elements in the vector that should be considered
      //      valid. This is an optimization to allow vector elements to be
      //      reused over and over but a different count of them be valid for
      //      each use.
      //
      //  fVector
      //      The vector that provides the backing for the list.
      // -----------------------------------------------------------------------
      bool                        fAdopt;
      unsigned int                fCount;
      const RefVectorOf<XMLAttr>* fVector;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/VecAttributesImpl.hpp
  
  Index: VecAttributesImpl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: VecAttributesImpl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/05/11 13:26:16  tng
   * Copyright update.
   *
   * Revision 1.4  2001/03/21 21:56:04  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.3  2001/02/26 19:44:15  tng
   * Schema: add utility class QName, by Pei Yong Zhang.
   *
   * Revision 1.2  2000/08/09 22:11:17  jpolast
   * changes to allow const instances of the sax2
   * Attributes class.
   *
   * Revision 1.1  2000/08/02 18:09:14  jpolast
   * initial checkin: attributes vector needed for
   * Attributes class as defined by sax2 spec
   *
   *
   */
  
  
  #if !defined(VECATTRIBUTESIMPL_HPP)
  #define VECATTRIBUTESIMPL_HPP
  
  #include <sax2/Attributes.hpp>
  #include <framework/XMLAttr.hpp>
  #include <util/RefVectorOf.hpp>
  #include <internal/XMLScanner.hpp>
  #include <framework/XMLBuffer.hpp>
  
  class XMLPARSER_EXPORT VecAttributesImpl : public Attributes
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      VecAttributesImpl();
      ~VecAttributesImpl();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the attributes interface
      // -----------------------------------------------------------------------
      virtual unsigned int getLength() const ;
  
  	virtual const XMLCh* getURI(const unsigned int index) const;
      virtual const XMLCh* getLocalName(const unsigned int index) const ;
      virtual const XMLCh* getQName(const unsigned int index) const ;
      virtual const XMLCh* getType(const unsigned int index) const ;
      virtual const XMLCh* getValue(const unsigned int index) const ;
  
  	virtual int getIndex(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
  	virtual int getIndex(const XMLCh* const qName ) const  ;
  
  	virtual const XMLCh* getType(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
      virtual const XMLCh* getType(const XMLCh* const qName) const ;
  
      virtual const XMLCh* getValue(const XMLCh* const qName) const;
  	virtual const XMLCh* getValue(const XMLCh* const uri, const XMLCh* const localPart ) const  ;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setVector
      (
          const   RefVectorOf<XMLAttr>* const srcVec
          , const unsigned int                count
  		, const XMLScanner * const		scanner
          , const bool                        adopt = false
      );
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      VecAttributesImpl(const VecAttributesImpl&);
      void operator=(const VecAttributesImpl&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAdopt
      //      Indicates whether the passed vector is to be adopted or not. If
      //      so, we destroy it when we are destroyed (and when a new vector is
      //      set!)
      //
      //  fCount
      //      The count of elements in the vector that should be considered
      //      valid. This is an optimization to allow vector elements to be
      //      reused over and over but a different count of them be valid for
      //      each use.
      //
      //  fVector
      //      The vector that provides the backing for the list.
  	//
  	//	fScanner
  	//		This is a pointer to the in use Scanner, so that we can resolve
  	//		namespace URIs from UriIds
  	//
  	//	fURIBuffer
  	//		A temporary buffer which is re-used when getting namespace URI's
      // -----------------------------------------------------------------------
      bool                        fAdopt;
      unsigned int                fCount;
      const RefVectorOf<XMLAttr>* fVector;
  	const XMLScanner *		fScanner ;
  	//XMLBuffer				    fURIBuffer ;
  };
  
  #endif // ! VECATTRIBUTESIMPL_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLInternalErrorHandler.hpp
  
  Index: XMLInternalErrorHandler.hpp
  ===================================================================
  
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLInternalErrorHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/07/26 17:04:10  tng
   * Schema: Process should stop after fatal error, and user throws need to be rethrown.
   *
   */
  
  #include <util/XercesDefs.hpp>
  #include <sax/ErrorHandler.hpp>
  
  class XMLInternalErrorHandler : public ErrorHandler
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLInternalErrorHandler(ErrorHandler* userHandler = 0) :
         fSawWarning(false),
         fSawError(false),
         fSawFatal(false),
         fUserErrorHandler(userHandler)
      {
      }
  
      ~XMLInternalErrorHandler()
      {
      }
  
      // -----------------------------------------------------------------------
      //  Implementation of the error handler interface
      // -----------------------------------------------------------------------
      void warning(const SAXParseException& toCatch);
      void error(const SAXParseException& toCatch);
      void fatalError(const SAXParseException& toCatch);
      void resetErrors();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool getSawWarning() const;
      bool getSawError() const;
      bool getSawFatal() const;
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSawWarning
      //      This is set if we get any warning, and is queryable via a getter
      //      method.
      //
      //  fSawError
      //      This is set if we get any errors, and is queryable via a getter
      //      method.
      //
      //  fSawFatal
      //      This is set if we get any fatal, and is queryable via a getter
      //      method.
      //
      //  fUserErrorHandler
      //      This is the error handler from user
      // -----------------------------------------------------------------------
      bool    fSawWarning;
      bool    fSawError;
      bool    fSawFatal;
      ErrorHandler* fUserErrorHandler;
  };
  
  inline bool XMLInternalErrorHandler::getSawWarning() const
  {
      return fSawWarning;
  }
  
  inline bool XMLInternalErrorHandler::getSawError() const
  {
      return fSawError;
  }
  
  inline bool XMLInternalErrorHandler::getSawFatal() const
  {
      return fSawFatal;
  }
  
  inline void XMLInternalErrorHandler::warning(const SAXParseException& toCatch)
  {
      fSawWarning = true;
      if (fUserErrorHandler)
          fUserErrorHandler->warning(toCatch);
  }
  
  inline void XMLInternalErrorHandler::error(const SAXParseException& toCatch)
  {
      fSawError = true;
      if (fUserErrorHandler)
          fUserErrorHandler->error(toCatch);
  }
  
  inline void XMLInternalErrorHandler::fatalError(const SAXParseException& toCatch)
  {
      fSawFatal = true;
      if (fUserErrorHandler)
          fUserErrorHandler->fatalError(toCatch);
  }
  
  inline void XMLInternalErrorHandler::resetErrors()
  {
      fSawWarning = false;
      fSawError = false;
      fSawFatal = false;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLReader.hpp
  
  Index: XMLReader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLReader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.17  2001/07/12 18:50:13  tng
   * Some performance modification regarding standalone check and xml decl check.
   *
   * Revision 1.16  2001/05/11 13:26:17  tng
   * Copyright update.
   *
   * Revision 1.15  2001/05/03 18:42:51  knoaman
   * Added new option to the parsers so that the NEL (0x85) char can be treated as a newline character.
   *
   * Revision 1.14  2001/01/25 19:16:58  tng
   * const should be used instead of static const.  Fixed by Khaled Noaman.
   *
   * Revision 1.13  2000/07/25 22:33:05  aruna1
   * Char definitions in XMLUni moved to XMLUniDefs
   *
   * Revision 1.12  2000/07/08 00:17:13  andyh
   * Cleanup of yesterday's speedup changes.  Merged new bit into the
   * scanner character properties table.
   *
   * Revision 1.11  2000/07/07 01:08:44  andyh
   * Parser speed up in scan of XML content.
   *
   * Revision 1.10  2000/07/06 21:00:52  jpolast
   * inlined getNextCharIfNot() for better performance
   *
   * Revision 1.9  2000/05/11 23:11:33  andyh
   * Add missing validity checks for stand-alone documents, character range
   * and Well-formed parsed entities.  Changes contributed by Sean MacRoibeaird
   * <se...@ireland.sun.com>
   *
   * Revision 1.8  2000/03/02 19:54:29  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/06 07:47:53  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/25 01:04:21  roddey
   * Fixes a bogus error about ]]> in char data.
   *
   * Revision 1.4  2000/01/22 00:01:08  roddey
   * Simple change to get rid of two hard coded 'x' type characters, which won't
   * work on EBCDIC systems.
   *
   * Revision 1.3  1999/12/18 00:20:00  roddey
   * More changes to support the new, completely orthagonal, support for
   * intrinsic encodings.
   *
   * Revision 1.2  1999/12/15 19:48:03  roddey
   * Changed to use new split of transcoder interfaces into XML transcoders and
   * LCP transcoders, and implementation of intrinsic transcoders as pluggable
   * transcoders, and addition of Latin1 intrinsic support.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:22  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:47  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLREADER_HPP)
  #define XMLREADER_HPP
  
  #include <util/XMLUniDefs.hpp>
  #include <framework/XMLRecognizer.hpp>
  #include <framework/XMLBuffer.hpp>
  #include <util/XMLUniDefs.hpp>
  
  class InputSource;
  class BinInputStream;
  class ReaderMgr;
  class XMLBuffer;
  class XMLScanner;
  class XMLTranscoder;
  
  
  // Masks for the fgCharCharsTable array
  const XMLByte   gBaseCharMask               = 0x1;
  const XMLByte   gSpecialCharDataMask        = 0x2;
  const XMLByte   gNameCharMask               = 0x4;
  const XMLByte   gPlainContentCharMask       = 0x8;
  const XMLByte   gSpecialStartTagCharMask    = 0x10;
  const XMLByte   gLetterCharMask             = 0x20;
  const XMLByte   gXMLCharMask                = 0x40;
  const XMLByte   gWhitespaceCharMask         = 0x80;
  
  
  // ---------------------------------------------------------------------------
  //  Instances of this class are used to manage the content of entities. The
  //  scanner maintains a stack of these, one for each entity (this means entity
  //  in the sense of any parsed file or internal entity) currently being
  //  scanned. This class, given a binary input stream will handle reading in
  //  the data and decoding it from its external decoding into the internal
  //  Unicode format. Once internallized, this class provides the access
  //  methods to read in the data in various ways, maintains line and column
  //  information, and provides high performance character attribute checking
  //  methods.
  //
  //  This is NOT to be derived from.
  //
  //  Note: We have added support for handling 390 NEL character as a whitespace.
  //  Since the option is turned on, we will not be able to modify the
  //  corresponding value of NEL (0x85) in the fgCharCharsTable. As a result,
  //  everytime we use the fgCharChars table and the NEL option is turned on,
  //  we will use the value of chLF in the fgCharCharsTable instead.
  // ---------------------------------------------------------------------------
  class XMLPARSER_EXPORT XMLReader
  {
  public:
      // -----------------------------------------------------------------------
      //  Public types
      // -----------------------------------------------------------------------
      enum Types
      {
          Type_PE
          , Type_General
      };
  
      enum Sources
      {
          Source_Internal
          , Source_External
      };
  
      enum RefFrom
      {
          RefFrom_Literal
          , RefFrom_NonLiteral
      };
  
  
      // -----------------------------------------------------------------------
      //  Public, static methods
      // -----------------------------------------------------------------------
      static bool isAllSpaces
      (
          const   XMLCh* const    toCheck
          , const unsigned int    count
      );
  
      static bool containsWhiteSpace
      (
          const   XMLCh* const    toCheck
          , const unsigned int    count
      );
  
  
      static bool isBaseChar(const XMLCh toCheck);
      static bool isFirstNameChar(const XMLCh toCheck);
      static bool isNameChar(const XMLCh toCheck);
      static bool isPlainContentChar(const XMLCh toCheck);
      static bool isPublicIdChar(const XMLCh toCheck);
      static bool isSpecialCharDataChar(const XMLCh toCheck);
      static bool isSpecialStartTagChar(const XMLCh toCheck);
      static bool isXMLLetter(const XMLCh toCheck);
      static bool isXMLChar(const XMLCh toCheck);
      static bool isWhitespace(const XMLCh toCheck);
  
      /**
        * Return the value of fgNEL flag.
        */
      static bool isNELRecognized();
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLReader
      (
          const   XMLCh* const                pubId
          , const XMLCh* const                sysId
          ,       BinInputStream* const       streamToAdopt
          , const RefFrom                     from
          , const Types                       type
          , const Sources                     source
          , const bool                        throwAtEnd = false
      );
  
      XMLReader
      (
          const   XMLCh* const                pubId
          , const XMLCh* const                sysId
          ,       BinInputStream* const       streamToAdopt
          , const XMLCh* const                encodingStr
          , const RefFrom                     from
          , const Types                       type
          , const Sources                     source
          , const bool                        throwAtEnd = false
      );
  
      ~XMLReader();
  
  
      // -----------------------------------------------------------------------
      //  Character buffer management methods
      // -----------------------------------------------------------------------
      unsigned long charsLeftInBuffer() const;
      bool refreshCharBuffer();
  
  
      // -----------------------------------------------------------------------
      //  Scanning methods
      // -----------------------------------------------------------------------
      bool getName(XMLBuffer& toFill, const bool token);
      bool getNextChar(XMLCh& chGotten);
      bool getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten);
      void movePlainContentChars(XMLBuffer &dest);
      bool getSpaces(XMLBuffer& toFill);
      bool getUpToCharOrWS(XMLBuffer& toFill, const XMLCh toCheck);
      bool peekNextChar(XMLCh& chGotten);
      bool skipIfQuote(XMLCh& chGotten);
      bool skipSpaces(bool& skippedSomething);
      bool skippedChar(const XMLCh toSkip);
      bool skippedSpace();
      bool skippedString(const XMLCh* const toSkip);
      bool peekString(const XMLCh* const toPeek);
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getColumnNumber() const;
      const XMLCh* getEncodingStr() const;
      unsigned int getLineNumber() const;
      bool getNoMoreFlag() const;
      const XMLCh* getPublicId() const;
      unsigned int getReaderNum() const;
      RefFrom getRefFrom() const;
      Sources getSource() const;
      unsigned int getSrcOffset() const;
      const XMLCh* getSystemId() const;
      bool getThrowAtEnd() const;
      Types getType() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      bool setEncoding
      (
          const   XMLCh* const    newEncoding
      );
      void setReaderNum(const unsigned int newNum);
      void setThrowAtEnd(const bool newValue);
  
  
  private:
      // ---------------------------------------------------------------------------
      //  Class Constants
      //
      //  kCharBufSize
      //      The size of the character spool buffer that we use. Its not terribly
      //      large because its just getting filled with data from a raw byte
      //      buffer as we go along. We don't want to decode all the text at
      //      once before we find out that there is an error.
      //
      //      NOTE: This is a size in characters, not bytes.
      //
      //  kRawBufSize
      //      The size of the raw buffer from which raw bytes are spooled out
      //      as we transcode chunks of data. As it is emptied, it is filled back
      //      in again from the source stream.
      // ---------------------------------------------------------------------------
      enum Constants
      {
          kCharBufSize        = 16 * 1024
          , kRawBufSize       = 48 * 1024
      };
  
  
      // -----------------------------------------------------------------------
      //  Private static methods
      // -----------------------------------------------------------------------
      static bool checkTable
      (
          const   XMLCh* const    theTable
          , const XMLCh           toCheck
      );
  
  
      /**
        * Method to enable NEL char to be treated as white space char.
        */
      static void enableNELWS();
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void checkForSwapped();
  
      void doInitCharSizeChecks();
  
      void doInitDecode();
  
      XMLByte getNextRawByte
      (
          const   bool            eoiOk
      );
  
      void refreshRawBuffer();
  
      void setTranscoder
      (
          const   XMLCh* const    newEncoding
      );
  
      unsigned int xcodeMoreChars
      (
                  XMLCh* const            bufToFill
          ,       unsigned char* const    charSizes
          , const unsigned int            maxChars
      );
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fCharIndex
      //      The index into the character buffer. When this hits fCharsAvail
      //      then its time to refill.
      //
      //  fCharBuf
      //      A buffer that the reader manager fills up with transcoded
      //      characters a small amount at a time.
      //
      //  fCharsAvail
      //      The characters currently available in the character buffer.
      //
      //  fCharSizeBuf
      //      This buffer is an array that contains the number of source chars
      //      eaten to create each char in the fCharBuf buffer. So the entry
      //      fCharSizeBuf[x] is the number of source chars that were eaten
      //      to make the internalized char fCharBuf[x]. This only contains
      //      useful data if fSrcOfsSupported is true.
      //
      //  fCurCol
      //  fCurLine
      //      The current line and column that we are in within this reader's
      //      text.
      //
      //  fEncoding
      //      This is the rough encoding setting. This enum is set during
      //      construction and just tells us the rough family of encoding that
      //      we are doing.
      //
      //  fEncodingStr
      //      This is the name of the encoding we are using. It will be
      //      provisionally set during construction, from the auto-sensed
      //      encoding. But it might be overridden when the XMLDecl is finally
      //      seen by the scanner. It can also be forced to a particular
      //      encoding, in which case fForcedEncoding is set.
      //
      //  fForcedEncoding
      //      If the encoding if forced then this is set and all other
      //      information will be ignored. This encoding will be taken as
      //      gospel. This is done by calling an alternate constructor.
      //
      //  fNoMore
      //      This is set when the source text is exhausted. It lets us know
      //      quickly that no more text is available.
      //
      //  fRawBufIndex
      //      The current index into the raw byte buffer. When its equal to
      //      fRawBytesAvail then we need to read another buffer.
      //
      //  fRawByteBuf
      //      This is the raw byte buffer that is used to spool out bytes
      //      from into the fCharBuf buffer, as we transcode in blocks.
      //
      //  fRawBytesAvail
      //      The number of bytes currently available in the raw buffer. This
      //      helps deal with the last buffer's worth, which will usually not
      //      be a full one.
      //
      //  fReaderNum
      //      Each reader from a particular reader manager (which means from a
      //      particular document) is given a unique number. The reader manager
      //      sets these numbers. They are used to catch things like partial
      //      markup errors.
      //
      //  fRefFrom
      //      This flag is provided in the ctor, and tells us if we represent
      //      some entity being expanded inside a literal. Sometimes things
      //      happen differently inside and outside literals.
      //
      //  fPublicId
      //  fSystemId
      //      These are the system and public ids of the source that this
      //      reader is reading.
      //
      //  fSentTrailingSpace
      //      If we are a PE entity being read and we not referenced from a
      //      literal, then a leading and trailing space must be faked into the
      //      data. This lets us know we've done the trailing space already (so
      //      we don't just keep doing it again and again.)
      //
      //  fSource
      //      Indicates whether the content this reader is spooling as already
      //      been internalized. This will prevent multiple processing of
      //      whitespace when an already internalized entity is being spooled
      //      out.
      //
      //  fSpareChar
      //      Some encodings can create two chars in an atomic way, e.g.
      //      surrogate pairs. We might not be able to store both, so we store
      //      it here until the next buffer transcoding operation.
      //
      //  fSrcOfsBase
      //      This is the base offset within the source of this entity. Values
      //      in the curent fCharSizeBuf array are relative to this value.
      //
      //  fSrcOfsSupported
      //      This flag is set to indicate whether source byte offset info
      //      is supported. For intrinsic encodings, its always set since we
      //      can always support it. For transcoder based encodings, we ask
      //      the transcoder if it supports it or not.
      //
      //  fStream
      //      This is the input stream that provides the data for the reader.
      //      Its always treated as a raw byte stream. The derived class will
      //      ask for buffers of text from it and will handle making some
      //      sense of it.
      //
      //  fSwapped
      //      If the encoding is one of the ones we do intrinsically, and its
      //      in a different byte order from our native order, then this is
      //      set to remind us to byte swap it during transcoding.
      //
      //  fThrowAtEnd
      //      Indicates whether the reader manager should throw an end of entity
      //      exception at the end of this reader instance. This is usually
      //      set for top level external entity references. It overrides the
      //      reader manager's global flag that controls throwing at the end
      //      of entities. Defaults to false.
      //
      //  fTranscoder
      //      If the encoding is not one that we handle intrinsically, then
      //      we use an an external transcoder to do it. This class is an
      //      abstraction that allows us to use pluggable external transcoding
      //      services (via XMLTransService in util.)
      //
      //  fType
      //      Indicates whether this reader represents a PE or not. If this
      //      flag is true and the fInLiteral flag is false, then we will put
      //      out an extra space at the end.
      // -----------------------------------------------------------------------
      unsigned int                fCharIndex;
      XMLCh                       fCharBuf[kCharBufSize];
      unsigned int                fCharsAvail;
      unsigned char               fCharSizeBuf[kCharBufSize];
      unsigned int                fCurCol;
      unsigned int                fCurLine;
      XMLRecognizer::Encodings    fEncoding;
      XMLCh*                      fEncodingStr;
      bool                        fForcedEncoding;
      bool                        fNoMore;
      XMLCh*                      fPublicId;
      unsigned int                fRawBufIndex;
      XMLByte                     fRawByteBuf[kRawBufSize];
      unsigned int                fRawBytesAvail;
      unsigned int                fReaderNum;
      RefFrom                     fRefFrom;
      bool                        fSentTrailingSpace;
      Sources                     fSource;
      XMLCh                       fSpareCh;
      unsigned int                fSrcOfsBase;
      bool                        fSrcOfsSupported;
      XMLCh*                      fSystemId;
      BinInputStream*             fStream;
      bool                        fSwapped;
      bool                        fThrowAtEnd;
      XMLTranscoder*              fTranscoder;
      Types                       fType;
  
  
      // -----------------------------------------------------------------------
      //  Static data members
      //
      //  fgCharCharsTables
      //      The character characteristics table. Bits in each byte, represent
      //      the characteristics of each character. It is generated via some
      //      code and then hard coded into the cpp file for speed.
      //
      //  fNEL
      //      Flag to respresents whether NEL whitespace recognition is enabled
      //      or disabled
      // -----------------------------------------------------------------------
      static const XMLByte    fgCharCharsTable[0x10000];
      static bool             fNEL;
  
      friend class XMLPlatformUtils;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLReader: Public, static methods
  // ---------------------------------------------------------------------------
  inline bool XMLReader::isBaseChar(const XMLCh toCheck)
  {
      return ((fgCharCharsTable[toCheck] & gBaseCharMask) != 0);
  }
  
  inline bool XMLReader::isNameChar(const XMLCh toCheck)
  {
      return ((fgCharCharsTable[toCheck] & gNameCharMask) != 0);
  }
  
  inline bool XMLReader::isPlainContentChar(const XMLCh toCheck)
  {
      return (fNEL && (toCheck == chNEL))
          ? ((fgCharCharsTable[chLF] & gPlainContentCharMask) != 0)
          : ((fgCharCharsTable[toCheck] & gPlainContentCharMask) != 0);
  }
  
  
  inline bool XMLReader::isSpecialCharDataChar(const XMLCh toCheck)
  {
      return ((fgCharCharsTable[toCheck] & gSpecialCharDataMask) != 0);
  }
  
  inline bool XMLReader::isSpecialStartTagChar(const XMLCh toCheck)
  {
      return (fNEL && (toCheck == chNEL))
          ? ((fgCharCharsTable[chLF] & gSpecialStartTagCharMask) != 0)
          : ((fgCharCharsTable[toCheck] & gSpecialStartTagCharMask) != 0);
  }
  
  inline bool XMLReader::isXMLChar(const XMLCh toCheck)
  {
      return ((fgCharCharsTable[toCheck] & gXMLCharMask) != 0);
  }
  
  inline bool XMLReader::isXMLLetter(const XMLCh toCheck)
  {
      const XMLByte ourMask = gBaseCharMask | gLetterCharMask;
      return ((fgCharCharsTable[toCheck] & ourMask) != 0);
  }
  
  inline bool XMLReader::isWhitespace(const XMLCh toCheck)
  {
      return (fNEL && (toCheck == chNEL))
          ? ((fgCharCharsTable[chLF] & gWhitespaceCharMask) != 0)
          : ((fgCharCharsTable[toCheck] & gWhitespaceCharMask) != 0);
  }
  
  // ---------------------------------------------------------------------------
  //  XMLReader: Buffer management methods
  // ---------------------------------------------------------------------------
  inline unsigned long XMLReader::charsLeftInBuffer() const
  {
      return fCharsAvail - fCharIndex;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLReader: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int XMLReader::getColumnNumber() const
  {
      return fCurCol;
  }
  
  inline const XMLCh* XMLReader::getEncodingStr() const
  {
      return fEncodingStr;
  }
  
  inline unsigned int XMLReader::getLineNumber() const
  {
      return fCurLine;
  }
  
  inline bool XMLReader::getNoMoreFlag() const
  {
      return fNoMore;
  }
  
  inline const XMLCh* XMLReader::getPublicId() const
  {
      return fPublicId;
  }
  
  inline unsigned int XMLReader::getReaderNum() const
  {
      return fReaderNum;
  }
  
  inline XMLReader::RefFrom XMLReader::getRefFrom() const
  {
      return fRefFrom;
  }
  
  inline XMLReader::Sources XMLReader::getSource() const
  {
      return fSource;
  }
  
  inline const XMLCh* XMLReader::getSystemId() const
  {
      return fSystemId;
  }
  
  inline bool XMLReader::getThrowAtEnd() const
  {
      return fThrowAtEnd;
  }
  
  inline XMLReader::Types XMLReader::getType() const
  {
      return fType;
  }
  
  inline bool XMLReader::isNELRecognized() {
  
      return fNEL;
  }
  
  // ---------------------------------------------------------------------------
  //  XMLReader: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLReader::setReaderNum(const unsigned int newNum)
  {
      fReaderNum = newNum;
  }
  
  inline void XMLReader::setThrowAtEnd(const bool newValue)
  {
      fThrowAtEnd = newValue;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //
  //  XMLReader: movePlainContentChars()
  //
  //       Move as many plain (no special handling of any sort required) content
  //       characters as possible from this reader to the supplied destination buffer.
  //
  //       This is THE hottest performance spot in the parser.
  //
  // ---------------------------------------------------------------------------
  inline void XMLReader::movePlainContentChars(XMLBuffer &dest)
  {
      int count = 0;
      XMLCh *pStart = &fCharBuf[fCharIndex];
      XMLCh *pCurrent = pStart;
      XMLCh *pEnd     = &fCharBuf[fCharsAvail];
  
  
      while (pCurrent < pEnd)
      {
          if (! XMLReader::isPlainContentChar(*pCurrent++))
              break;
          count++;
      }
  
      if (count > 0)
      {
          fCharIndex += count;
          fCurCol    += count;
          dest.append(pStart, count);
      }
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  XMLReader: getNextCharIfNot() method inlined for speed
  // ---------------------------------------------------------------------------
  inline bool XMLReader::getNextCharIfNot(const XMLCh chNotToGet, XMLCh& chGotten)
  {
      //
      //  See if there is at least a char in the buffer. Else, do the buffer
      //  reload logic.
      //
      if (fCharIndex < fCharsAvail)
      {
          // Check the next char
          if (fCharBuf[fCharIndex] == chNotToGet)
              return false;
  
          // Its not the one we want to skip so bump the index
          chGotten = fCharBuf[fCharIndex++];
      }
       else
      {
          // If fNoMore is set, then we have nothing else to give
          if (fNoMore)
              return false;
  
          // If the buffer is empty, then try to refresh
          if (fCharIndex == fCharsAvail)
          {
              if (!refreshCharBuffer())
              {
                  // If still empty, then return false
                  if (fCharIndex == fCharsAvail)
                      return false;
              }
          }
  
          // Check the next char
          if (fCharBuf[fCharIndex] == chNotToGet)
              return false;
  
          // Its not the one we want to skip so bump the index
          chGotten = fCharBuf[fCharIndex++];
      }
  
      // Handle end of line normalization and line/col member maintenance.
      if (chGotten == chCR)
      {
          //
          //  Do the normalization. We return chLF regardless of which was
          //  found. We also eat a chCR followed by an chLF.
          //
          //  We only do this if the content being spooled is not already
          //  internalized.
          //
          if (fSource == Source_External)
          {
              //
              //  See if we have another char left. If not, don't bother.
              //  Else, see if its an chLF to eat. If it is, bump the
              //  index again.
              //
              if (fCharIndex < fCharsAvail)
              {
                  if (fCharBuf[fCharIndex] == chLF
                      || (fNEL && (fCharBuf[fCharIndex] == chNEL)))
                      fCharIndex++;
              }
               else
              {
                  if (refreshCharBuffer())
                  {
                      if (fCharBuf[fCharIndex] == chLF
                          || (fNEL && (fCharBuf[fCharIndex] == chNEL)))
                          fCharIndex++;
                  }
              }
  
              // And return just an chLF
              chGotten = chLF;
          }
  
          // And handle the line/col stuff
          fCurCol = 1;
          fCurLine++;
      }
       else if (chGotten == chLF
                || (fNEL && (chGotten == chNEL)))
      {
          chGotten = chLF;
          fCurLine++;
          fCurCol = 1;
      }
       else if (chGotten)
      {
          //
          //  Only do this is not a null char. Null chars are not part of the
          //  real content. They are just marker characters inserted into
          //  the stream.
          //
          fCurCol++;
      }
      return true;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/internal/XMLScanner.hpp
  
  Index: XMLScanner.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLScanner.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.34  2001/10/12 20:52:18  tng
   * Schema: Find the attributes see if they should be (un)qualified.
   *
   * Revision 1.33  2001/09/10 15:16:04  tng
   * Store the fGrammarType instead of calling getGrammarType all the time for faster performance.
   *
   * Revision 1.32  2001/09/10 14:06:22  tng
   * Schema: AnyAttribute support in Scanner and Validator.
   *
   * Revision 1.31  2001/08/13 15:06:39  knoaman
   * update <any> validation.
   *
   * Revision 1.30  2001/08/02 16:54:39  tng
   * Reset some Scanner flags in scanReset().
   *
   * Revision 1.29  2001/08/01 19:11:01  tng
   * Add full schema constraint checking flag to the samples and the parser.
   *
   * Revision 1.28  2001/07/24 21:23:39  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.27  2001/07/13 16:56:48  tng
   * ScanId fix.
   *
   * Revision 1.26  2001/07/12 18:50:17  tng
   * Some performance modification regarding standalone check and xml decl check.
   *
   * Revision 1.25  2001/07/10 21:09:31  tng
   * Give proper error messsage when scanning external id.
   *
   * Revision 1.24  2001/07/09 13:42:08  tng
   * Partial Markup in Parameter Entity is validity constraint and thus should be just error, not fatal error.
   *
   * Revision 1.23  2001/07/05 13:12:11  tng
   * Standalone checking is validity constraint and thus should be just error, not fatal error:
   *
   * Revision 1.22  2001/06/22 12:42:33  tng
   * [Bug 2257] 1.5 thinks a <?xml-stylesheet ...> tag is a <?xml ...> tag
   *
   * Revision 1.21  2001/06/04 20:59:29  jberry
   * Add method incrementErrorCount for use by validator. Make sure to reset error count in _both_ the scanReset methods.
   *
   * Revision 1.20  2001/06/03 19:21:40  jberry
   * Add support for tracking error count during parse; enables simple parse without requiring error handler.
   *
   * Revision 1.19  2001/05/28 20:55:02  tng
   * Schema: allocate a fDTDValidator, fSchemaValidator explicitly to avoid wrong cast
   *
   * Revision 1.18  2001/05/11 15:17:28  tng
   * Schema: Nillable fixes.
   *
   * Revision 1.17  2001/05/11 13:26:17  tng
   * Copyright update.
   *
   * Revision 1.16  2001/05/03 20:34:29  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.15  2001/05/03 19:09:09  knoaman
   * Support Warning/Error/FatalError messaging.
   * Validity constraints errors are treated as errors, with the ability by user to set
   * validity constraints as fatal errors.
   *
   * Revision 1.14  2001/04/19 18:16:59  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.13  2001/03/30 16:46:56  tng
   * Schema: Use setDoSchema instead of setSchemaValidation which makes more sense.
   *
   * Revision 1.12  2001/03/30 16:35:06  tng
   * Schema: Whitespace normalization.
   *
   * Revision 1.11  2001/03/21 21:56:05  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.10  2001/02/15 15:56:27  tng
   * Schema: Add setSchemaValidation and getSchemaValidation for DOMParser and SAXParser.
   * Add feature "http://apache.org/xml/features/validation/schema" for SAX2XMLReader.
   * New data field  fSchemaValidation in XMLScanner as the flag.
   *
   * Revision 1.9  2000/04/12 22:58:28  roddey
   * Added support for 'auto validate' mode.
   *
   * Revision 1.8  2000/03/03 01:29:32  roddey
   * Added a scanReset()/parseReset() method to the scanner and
   * parsers, to allow for reset after early exit from a progressive parse.
   * Added calls to new Terminate() call to all of the samples. Improved
   * documentation in SAX and DOM parsers.
   *
   * Revision 1.7  2000/03/02 19:54:30  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/24 20:18:07  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.5  2000/02/06 07:47:54  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.4  2000/01/24 20:40:43  roddey
   * Exposed the APIs to get to the byte offset in the source XML buffer. This stuff
   * is not tested yet, but I wanted to get the API changes in now so that the API
   * can be stablized.
   *
   * Revision 1.3  2000/01/12 23:52:46  roddey
   * These are trivial changes required to get the C++ and Java versions
   * of error messages more into sync. Mostly it was where the Java version
   * was passing out one or more parameter than the C++ version was. In
   * some cases the change just required an extra parameter to get the
   * needed info to the place where the error was issued.
   *
   * Revision 1.2  2000/01/12 00:15:04  roddey
   * Changes to deal with multiply nested, relative pathed, entities and to deal
   * with the new URL class changes.
   *
   * Revision 1.1.1.1  1999/11/09 01:08:23  twl
   * Initial checkin
   *
   * Revision 1.4  1999/11/08 20:44:52  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLSCANNER_HPP)
  #define XMLSCANNER_HPP
  
  #include <util/KVStringPair.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLString.hpp>
  #include <framework/XMLAttr.hpp>
  #include <framework/XMLBufferMgr.hpp>
  #include <framework/XMLErrorCodes.hpp>
  #include <framework/XMLRefInfo.hpp>
  #include <framework/XMLPScanToken.hpp>
  #include <internal/ElemStack.hpp>
  #include <internal/ReaderMgr.hpp>
  #include <validators/DTD/DTDEntityDecl.hpp>
  #include <validators/DTD/DTDValidator.hpp>
  #include <validators/schema/SchemaValidator.hpp>
  
  class InputSource;
  class XMLDocumentHandler;
  class DocTypeHandler;
  class XMLElementDecl;
  class XMLEntityHandler;
  class EntityResolver;
  class XMLErrorReporter;
  class ErrorHandler;
  class XMLMsgLoader;
  class XMLValidator;
  
  
  //
  //  This is the mondo scanner class, which does the vast majority of the
  //  work of parsing. It handles reading in input and spitting out events
  //  to installed handlers.
  //
  class XMLPARSER_EXPORT XMLScanner
  {
  public :
      // -----------------------------------------------------------------------
      //  Public class types
      //
      //  NOTE: These should really be private, but some of the compilers we
      //  have to deal with are too stupid to understand this.
      //
      //  DeclTypes
      //      Used by scanXMLDecl() to know what type of decl it should scan.
      //      Text decls have slightly different rules from XMLDecls.
      //
      //  EntityExpRes
      //      These are the values returned from the entity expansion method,
      //      to indicate how it went.
      //
      //  XMLTokens
      //      These represent the possible types of input we can get while
      //      scanning content.
      //
      //  ValScheme
      //      This indicates what the scanner should do in terms of validation.
      //      'Auto' means if there is any int/ext subset, then validate. Else,
      //      don't.
      // -----------------------------------------------------------------------
      enum DeclTypes
      {
          Decl_Text
          , Decl_XML
      };
  
      enum EntityExpRes
      {
          EntityExp_Pushed
          , EntityExp_Returned
          , EntityExp_Failed
      };
  
      enum XMLTokens
      {
          Token_CData
          , Token_CharData
          , Token_Comment
          , Token_EndTag
          , Token_EOF
          , Token_PI
          , Token_StartTag
          , Token_Unknown
      };
  
      enum ValSchemes
      {
          Val_Never
          , Val_Always
          , Val_Auto
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLScanner
      (
          XMLValidator* const valToAdopt
      );
      XMLScanner
      (
          XMLDocumentHandler* const  docHandler
          , DocTypeHandler* const    docTypeHandler
          , XMLEntityHandler* const  entityHandler
          , XMLErrorReporter* const  errReporter
          , XMLValidator* const      valToAdopt
      );
      ~XMLScanner();
  
  
      // -----------------------------------------------------------------------
      //  Error emitter methods
      // -----------------------------------------------------------------------
      void emitError(const XMLErrs::Codes toEmit);
      void emitError
      (
          const   XMLErrs::Codes    toEmit
          , const XMLCh* const        text1
          , const XMLCh* const        text2 = 0
          , const XMLCh* const        text3 = 0
          , const XMLCh* const        text4 = 0
      );
      void emitError
      (
          const   XMLErrs::Codes    toEmit
          , const char* const         text1
          , const char* const         text2 = 0
          , const char* const         text3 = 0
          , const char* const         text4 = 0
      );
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLDocumentHandler* getDocHandler() const;
      XMLDocumentHandler* getDocHandler();
      const DocTypeHandler* getDocTypeHandler() const;
      DocTypeHandler* getDocTypeHandler();
      bool getDoNamespaces() const;
      ValSchemes getValidationScheme() const;
      bool getDoSchema() const;
      bool getValidationSchemaFullChecking() const;
      const XMLEntityHandler* getEntityHandler() const;
      XMLEntityHandler* getEntityHandler();
      const XMLErrorReporter* getErrorReporter() const;
      XMLErrorReporter* getErrorReporter();
      bool getExitOnFirstFatal() const;
      bool getValidationConstraintFatal() const;
      RefHashTableOf<XMLRefInfo>* getIDRefList();
      const RefHashTableOf<XMLRefInfo>* getIDRefList() const;
      bool getInException() const;
      bool getLastExtLocation
      (
                  XMLCh* const    sysIdToFill
          , const unsigned int    maxSysIdChars
          ,       XMLCh* const    pubIdToFill
          , const unsigned int    maxPubIdChars
          ,       unsigned int&   lineToFill
          ,       unsigned int&   colToFill
      );
      const Locator* getLocator() const;
      unsigned int getSrcOffset() const;
      bool getStandalone() const;
      const XMLValidator* getValidator() const;
      XMLValidator* getValidator();
      int getErrorCount();
      const DTDEntityDecl* getEntityDecl
      (
          const   XMLCh* const    entName
      )   const;
  
      DTDEntityDecl* getEntityDecl
      (
          const   XMLCh* const    entName
      );
      NameIdPoolEnumerator<DTDEntityDecl> getEntityEnumerator() const;
      NameIdPool<DTDEntityDecl>* getEntityDeclPool();
      const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
      const XMLStringPool* getURIStringPool() const;
      XMLStringPool* getURIStringPool();
      bool getHasNoDTD() const;
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /**
        * When an attribute name has no prefix, unlike elements, it is not mapped
        * to the global namespace. So, in order to have something to map it to
        * for practical purposes, a id for an empty URL is created and used for
        * such names.
        *
        * @return The URL pool id of the URL for an empty URL "".
        */
      unsigned int getEmptyNamespaceId() const;
  
      /**
        * When a prefix is found that has not been mapped, an error is issued.
        * However, if the parser has been instructed not to stop on the first
        * fatal error, it needs to be able to continue. To do so, it will map
        * that prefix tot his magic unknown namespace id.
        *
        * @return The URL pool id of the URL for the unknown prefix
        *         namespace.
        */
      unsigned int getUnknownNamespaceId() const;
  
      /**
        * The prefix 'xml' is a magic prefix, defined by the XML spec and
        * requiring no prior definition. This method returns the id for the
        * intrinsically defined URL for this prefix.
        *
        * @return The URL pool id of the URL for the 'xml' prefix.
        */
      unsigned int getXMLNamespaceId() const;
  
      /**
        * The prefix 'xmlns' is a magic prefix, defined by the namespace spec
        * and requiring no prior definition. This method returns the id for the
        * intrinsically defined URL for this prefix.
        *
        * @return The URL pool id of the URL for the 'xmlns' prefix.
        */
      unsigned int getXMLNSNamespaceId() const;
  
      /**
        * This method find the passed URI id in its URI pool and
        * copy the text of that URI into the passed buffer.
        */
      bool getURIText
      (
          const   unsigned int    uriId
          ,       XMLBuffer&      uriBufToFill
      )   const;
  
      const XMLCh* getURIText(const   unsigned int    uriId) const;
  
      /**
        * This method separate the passed QName into prefix
        * and local part, and then return the URI id by resolving
        * the prefix.
        *
        * mode: Indicate if this QName comes from an Element or Attribute
        */
      unsigned int resolveQName
      (
          const   XMLCh* const        qName
          ,       XMLBuffer&          nameBufToFill
          ,       XMLBuffer&          prefixBufToFill
          , const ElemStack::MapModes mode
      );
  
      /* tell if the validator comes from user */
      bool isValidatorFromUser();
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setDocHandler(XMLDocumentHandler* const docHandler);
      void setDocTypeHandler(DocTypeHandler* const docTypeHandler);
      void setDoNamespaces(const bool doNamespaces);
      void setEntityHandler(XMLEntityHandler* const docTypeHandler);
      void setEntityResolver(EntityResolver* const handler);
      void setErrorReporter(XMLErrorReporter* const errHandler);
      void setErrorHandler(ErrorHandler* const handler);
      void setExitOnFirstFatal(const bool newValue);
      void setValidationConstraintFatal(const bool newValue);
      void setValidationScheme(const ValSchemes newScheme);
      void setValidator(XMLValidator* const valToAdopt);
      void setDoSchema(const bool doSchema);
      void setValidationSchemaFullChecking(const bool schemaFullChecking);
      void setHasNoDTD(const bool hasNoDTD);
  
      // -----------------------------------------------------------------------
      //  Mutator methods
      // -----------------------------------------------------------------------
      void incrementErrorCount(void);			// For use by XMLValidator
  
      // -----------------------------------------------------------------------
      //  Deprecated methods as of 3.2.0. Use getValidationScheme() and
      //  setValidationScheme() instead.
      // -----------------------------------------------------------------------
      bool getDoValidation() const;
      void setDoValidation(const bool validate, const bool setValScheme = true);
  
  
      // -----------------------------------------------------------------------
      //  Document scanning methods
      //
      //  scanDocument() does the entire source document. scanFirst(),
      //  scanNext(), and scanReset() support a progressive parse.
      // -----------------------------------------------------------------------
      void scanDocument
      (
          const   InputSource&    src
          , const bool            reuseGrammar = false
      );
      void scanDocument
      (
          const   XMLCh* const    systemId
          , const bool            reuseGrammar = false
      );
      void scanDocument
      (
          const   char* const     systemId
          , const bool            reuseGrammar = false
      );
  
      bool scanFirst
      (
          const   InputSource&    src
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
      bool scanFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
      bool scanFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      bool scanNext(XMLPScanToken& toFill);
  
      void scanReset(XMLPScanToken& toFill);
  
      bool checkXMLDecl(bool startWithAngle);
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLScanner();
      XMLScanner(const XMLScanner&);
      void operator=(const XMLScanner&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void commonInit();
      void initValidator(XMLValidator* theValidator);
      void resetEntityDeclPool();
      void resetURIStringPool();
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      //
      //  These are implemented in XMLScanner2.cpp, to keep the main file from
      //  becoming so bloated. We can't have any bloated files.
      // -----------------------------------------------------------------------
      unsigned int buildAttList
      (
          const   RefVectorOf<KVStringPair>&  providedAttrs
          , const unsigned int                attCount
          ,       XMLElementDecl*             elemDecl
          ,       RefVectorOf<XMLAttr>&       toFill
      );
      void checkIDRefs();
      bool isLegalToken(const XMLPScanToken& toCheck);
      bool normalizeAttValue
      (
          const   XMLAttDef* const    attDef
          , const XMLCh* const        value
          ,       XMLBuffer&          toFill
      );
      bool normalizeAttRawValue
      (
          const   XMLCh* const        attrName
          , const XMLCh* const        value
          ,       XMLBuffer&          toFill
      );
  
      unsigned int resolvePrefix
      (
          const   XMLCh* const        prefix
          , const ElemStack::MapModes mode
      );
      unsigned int resolvePrefix
      (
          const   XMLCh* const        prefix
          ,       XMLBuffer&          uriBufToFill
          , const ElemStack::MapModes mode
      );
      void scanReset(const InputSource& src);
      void sendCharData(XMLBuffer& toSend);
      XMLTokens senseNextToken(unsigned int& orgReader);
      void updateNSMap
      (
          const   XMLCh* const    attrName
          , const XMLCh* const    attrValue
      );
      void scanRawAttrListforNameSpaces(const RefVectorOf<KVStringPair>* theRawAttrList, int attCount);
      void parseSchemaLocation(const XMLCh* const schemaLocationStr);
      void resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri);
      bool switchGrammar(unsigned int newGrammarNameSpaceIndex);
      bool switchGrammar(const XMLCh* const newGrammarNameSpace);
      bool laxElementValidation(QName* element, ContentLeafNameTypeVector* cv,
                                const XMLContentModel* const cm,
                                const unsigned int parentElemDepth);
      bool anyAttributeValidation(SchemaAttDef* attWildCard,
                                  unsigned int uriId,
                                  bool& skipThisOne,
                                  bool& laxThisOne);
  
      // -----------------------------------------------------------------------
      //  Private scanning methods
      // -----------------------------------------------------------------------
      bool basicAttrValueScan
      (
          const   XMLCh* const    attrName
          ,       XMLBuffer&      toFill
      );
      bool getQuotedString(XMLBuffer& toFill);
      unsigned int rawAttrScan
      (
          const   XMLCh* const                elemName
          ,       RefVectorOf<KVStringPair>&  toFill
          ,       bool&                       isEmpty
      );
      bool scanAttValue
      (
          const   XMLAttDef* const    attDef
          ,       XMLBuffer&          toFill
      );
      void scanCDSection();
      void scanCharData(XMLBuffer& toToUse);
      bool scanCharRef(XMLCh& toFill, XMLCh& second);
      void scanComment();
      bool scanContent(const bool extEntity);
      void scanEndTag(bool& gotData);
      EntityExpRes scanEntityRef
      (
          const   bool    inAttVal
          ,       XMLCh&  firstCh
          ,       XMLCh&  secondCh
          ,       bool&   escaped
      );
      bool scanEq();
      void scanMiscellaneous();
      void scanPI();
      void scanProlog();
      bool scanStartTag(bool& gotData);
      bool scanStartTagNS(bool& gotData);
      void scanXMLDecl(const DeclTypes type);
      unsigned int scanUpToWSOr
      (
                  XMLBuffer&  toFill
          , const XMLCh       chEndChar
      );
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void resizeElemState();
  
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fAttrList
      //      Every time we get a new element start tag, we have to pass to
      //      the document handler the attributes found. To make it more
      //      efficient we keep this ref vector of XMLAttr objects around. We
      //      just reuse it over and over, allowing it to grow to meet the
      //      peek need.
      //
      //  fBufMgr
      //      This is a manager for temporary buffers used during scanning.
      //      For efficiency we must use a set of static buffers, but we have
      //      to insure that they are not incorrectly reused. So this manager
      //      provides the smarts to hand out buffers as required.
      //
      //  fDocHandler
      //      The client code's document handler. If zero, then no document
      //      handler callouts are done. We don't adopt it.
      //
      //  fDocTypeHandler
      //      The client code's document type handler (used by DTD Validator).
      //
      //  fDoNamespaces
      //      This flag indicates whether the client code wants us to do
      //      namespaces or not. If the installed validator indicates that it
      //      has to do namespaces, then this is ignored.
      //
      //  fElemStack
      //      This is the element stack that is used to track the elements that
      //      are currently being worked on.
      //
      //  fEntityHandler
      //      The client code's entity handler. If zero, then no entity handler
      //      callouts are done. We don't adopt it.
      //
      //  fEntityResolver
      //      The client code's entity resolver.  Need to store this info for
      //      Schema parse entity resolving.
      //
      //  fErrorReporter
      //      The client code's error reporter. If zero, then no error reporter
      //      callouts are done. We don't adopt it.
      //
      //  fErrorHandler
      //      The client code's error handler.  Need to store this info for
      //      Schema parse error handling.
      //
      //  fExitOnFirstFatal
      //      This indicates whether we bail out on the first fatal XML error
      //      or not. It defaults to true, which is the strict XML way, but it
      //      can be changed.
      //
      //  fValidationConstraintFatal
      //      This indicates whether we treat validation constraint errors as
      //      fatal errors or not. It defaults to false, but it can be changed.
      //
      //  fIDRefList
      //      This is a list of XMLRefInfo objects. This member lets us do all
      //      needed ID-IDREF balancing checks.
      //
      //  fInException
      //      To avoid a circular freakout when we catch an exception and emit
      //      it, which would normally throw again if the 'fail on first error'
      //      flag is one.
      //
      //  fRawAttrList
      //      During the initial scan of the attributes we can only do a raw
      //      scan for key/value pairs. So this vector is used to store them
      //      until they can be processed (and put into fAttrList.)
      //
      //  fReaderMgr
      //      This is the reader manager, from which we get characters. It
      //      manages the reader stack for us, and provides a lot of convenience
      //      methods to do specialized checking for chars, sequences of chars,
      //      skipping chars, etc...
      //
      //  fReuseGrammar
      //      This flag is set on a per-scan basis. So its provided in the
      //      scanDocument() and scanFirst() methods, and applies for that
      //      one pass. It indicates if the Grammar should be reused or not.
      //      If so, then all the Grammar will be ignored.
      //      There cannot be any internal subset.
      //
      //  fScannerId
      //  fSequenceId
      //      These are used for progressive parsing, to make sure that the
      //      client code does the right thing at the right time.
      //
      //  fStandalone
      //      Indicates whether the document is standalone or not. Defaults to
      //      no, but can be overridden in the XMLDecl.
      //
      //  fHasNoDTD
      //      Indicates the document has no DTD or has only an internal DTD subset
      //      which contains no parameter entity references.
      //
      //  fValidate
      //      Indicates whether any validation should be done. This is defined
      //      by the existence of a Grammar together with fValScheme.
      //
      //  fValidator
      //      The installed validator. We look at them via the abstract
      //      validator interface, and don't know what it actual is.
      //      Either point to user's installed validator, or fDTDValidator
      //      or fSchemaValidator.
      //
      //  fDTDValidator
      //      The DTD validator instance.
      //
      //  fSchemaValidator
      //      The Schema validator instance.
      //
      //  fValidatorFromUser
      //      This flag indicates whether the validator was installed from
      //      user.  If false, then the validator was created by the Scanner.
      //
      //  fValScheme
      //      This is the currently set validation scheme. It defaults to
      //      'never', but can be set by the client.
      //
      //  fErrorCount
      //		The number of errors we've encountered.
      //
      //  fDoSchema
      //      This flag indicates whether the client code wants Schema to
      //      be processed or not.
      //
      //  fSchemaFullChecking
      //      This flag indicates whether the client code wants full Schema
      //      constraint checking.
      //
      //  fSeeXsi
      //      This flag indicates a schema has been seen.
      //
      //  fAttName
      //  fAttValue
      //  fCDataBuf
      //  fNameBuf
      //  fQNameBuf
      //  fPrefixBuf
      //      For the most part, buffers are obtained from the fBufMgr object
      //      on the fly. However, for the start tag scan, we have a set of
      //      fixed buffers for performance reasons. These are used a lot and
      //      there are a number of them, so asking the buffer manager each
      //      time for new buffers is a bit too much overhead.
      //
      //  fEmptyNamespaceId
      //      This is the id of the empty namespace URI. This is a special one
      //      because of the xmlns="" type of deal. We have to quickly sense
      //      that its the empty namespace.
      //
      //  fUnknownNamespaceId
      //      This is the id of the namespace URI which is assigned to the
      //      global namespace. Its for debug purposes only, since there is no
      //      real global namespace URI. Its set by the derived class.
      //
      //  fXMLNamespaceId
      //  fXMLNSNamespaceId
      //      These are the ids of the namespace URIs which are assigned to the
      //      'xml' and 'xmlns' special prefixes. The former is officially
      //      defined but the latter is not, so we just provide one for debug
      //      purposes.
      //
      //  fSchemaNamespaceId
      //      This is the id of the schema namespace URI.
      //
      //  fElemState
      //  fElemStateSize
      //      Stores an element next state from DFA content model - used for
      //      wildcard validation
      //
      //  fGrammarResolver
      //      Grammar Pool that stores all the Grammar
      //
      //  fGrammar
      //      Current Grammar used by the Scanner and Validator
      //
      //  fGrammarType
      //      Current Grammar Type.  Store this value instead of calling getGrammarType
      //      all the time for faster performance.
      //
      //  fEntityDeclPool
      //      This is a pool of EntityDecl objects, which contains all of the
      //      general entities that are declared in the DTD subsets, plus the
      //      default entities (such as &gt; &lt; ...) defined by the XML Standard.
      //
      //  fURIStringPool
      //      This is a pool for URIs with unique ids assigned. We use a standard
      //      string pool class.  This pool is going to be shared by all Grammar.
      //      Use only if namespace is turned on.
      //
      // -----------------------------------------------------------------------
      bool                        fDoNamespaces;
      bool                        fExitOnFirstFatal;
      bool                        fValidationConstraintFatal;
      bool                        fInException;
      bool                        fReuseGrammar;
      bool                        fStandalone;
      bool                        fHasNoDTD;
      bool                        fValidate;
      bool                        fValidatorFromUser;
      bool                        fDoSchema;
      bool                        fSchemaFullChecking;
      bool                        fSeeXsi;
      int                         fErrorCount;
      unsigned int                fEmptyNamespaceId;
      unsigned int                fUnknownNamespaceId;
      unsigned int                fXMLNamespaceId;
      unsigned int                fXMLNSNamespaceId;
      unsigned int                fSchemaNamespaceId;
      unsigned int                fElemStateSize;
      XMLUInt32                   fScannerId;
      XMLUInt32                   fSequenceId;
      unsigned int*               fElemState;
      RefVectorOf<XMLAttr>*       fAttrList;
      XMLBufferMgr                fBufMgr;
      XMLDocumentHandler*         fDocHandler;
      DocTypeHandler*             fDocTypeHandler;
      ElemStack                   fElemStack;
      XMLEntityHandler*           fEntityHandler;
      EntityResolver*             fEntityResolver;
      XMLErrorReporter*           fErrorReporter;
      ErrorHandler*               fErrorHandler;
      RefHashTableOf<XMLRefInfo>* fIDRefList;
      RefVectorOf<KVStringPair>*  fRawAttrList;
      ReaderMgr                   fReaderMgr;
      XMLValidator*               fValidator;
      DTDValidator*               fDTDValidator;
      SchemaValidator*            fSchemaValidator;
      ValSchemes                  fValScheme;
      XMLBuffer                   fAttNameBuf;
      XMLBuffer                   fAttValueBuf;
      XMLBuffer                   fCDataBuf;
      XMLBuffer                   fNameBuf;
      XMLBuffer                   fQNameBuf;
      XMLBuffer                   fPrefixBuf;
      XMLBuffer                   fURIBuf;
      GrammarResolver*            fGrammarResolver;
      Grammar*                    fGrammar;
      Grammar::GrammarType        fGrammarType;
      NameIdPool<DTDEntityDecl>*  fEntityDeclPool;
      XMLStringPool*              fURIStringPool;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  XMLScanner: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLDocumentHandler* XMLScanner::getDocHandler() const
  {
      return fDocHandler;
  }
  
  inline XMLDocumentHandler* XMLScanner::getDocHandler()
  {
      return fDocHandler;
  }
  
  inline const DocTypeHandler* XMLScanner::getDocTypeHandler() const
  {
      return fDocTypeHandler;
  }
  
  inline DocTypeHandler* XMLScanner::getDocTypeHandler()
  {
      return fDocTypeHandler;
  }
  
  inline bool XMLScanner::getDoNamespaces() const
  {
      return fDoNamespaces;
  }
  
  inline const XMLEntityHandler* XMLScanner::getEntityHandler() const
  {
      return fEntityHandler;
  }
  
  inline XMLEntityHandler* XMLScanner::getEntityHandler()
  {
      return fEntityHandler;
  }
  
  inline const XMLErrorReporter* XMLScanner::getErrorReporter() const
  {
      return fErrorReporter;
  }
  
  inline XMLErrorReporter* XMLScanner::getErrorReporter()
  {
      return fErrorReporter;
  }
  
  inline bool XMLScanner::getExitOnFirstFatal() const
  {
      return fExitOnFirstFatal;
  }
  
  inline bool XMLScanner::getValidationConstraintFatal() const
  {
      return fValidationConstraintFatal;
  }
  
  inline RefHashTableOf<XMLRefInfo>* XMLScanner::getIDRefList()
  {
      return fIDRefList;
  }
  
  inline bool XMLScanner::getInException() const
  {
      return fInException;
  }
  
  inline const RefHashTableOf<XMLRefInfo>* XMLScanner::getIDRefList() const
  {
      return fIDRefList;
  }
  
  inline const Locator* XMLScanner::getLocator() const
  {
      return &fReaderMgr;
  }
  
  inline unsigned int XMLScanner::getSrcOffset() const
  {
      return fReaderMgr.getSrcOffset();
  }
  
  inline bool XMLScanner::getStandalone() const
  {
      return fStandalone;
  }
  
  inline XMLScanner::ValSchemes XMLScanner::getValidationScheme() const
  {
      return fValScheme;
  }
  
  inline const XMLValidator* XMLScanner::getValidator() const
  {
      return fValidator;
  }
  
  inline XMLValidator* XMLScanner::getValidator()
  {
      return fValidator;
  }
  
  inline bool XMLScanner::getDoSchema() const
  {
      return fDoSchema;
  }
  
  inline bool XMLScanner::getValidationSchemaFullChecking() const
  {
      return fSchemaFullChecking;
  }
  
  inline int XMLScanner::getErrorCount()
  {
      return fErrorCount;
  }
  
  inline bool XMLScanner::isValidatorFromUser()
  {
      return fValidatorFromUser;
  }
  
  inline unsigned int XMLScanner::getEmptyNamespaceId() const
  {
      return fEmptyNamespaceId;
  }
  
  inline unsigned int XMLScanner::getUnknownNamespaceId() const
  {
      return fUnknownNamespaceId;
  }
  
  inline unsigned int XMLScanner::getXMLNamespaceId() const
  {
      return fXMLNamespaceId;
  }
  
  inline unsigned int XMLScanner::getXMLNSNamespaceId() const
  {
      return fXMLNSNamespaceId;
  }
  
  inline NameIdPoolEnumerator<DTDEntityDecl>
  XMLScanner::getEntityEnumerator() const
  {
      return NameIdPoolEnumerator<DTDEntityDecl>(fEntityDeclPool);
  }
  
  inline const DTDEntityDecl* XMLScanner::getEntityDecl(const  XMLCh* const    entName) const
  {
      return fEntityDeclPool->getByKey(entName);
  }
  
  inline DTDEntityDecl* XMLScanner::getEntityDecl(const XMLCh* const entName)
  {
      return fEntityDeclPool->getByKey(entName);
  }
  
  inline NameIdPool<DTDEntityDecl>* XMLScanner::getEntityDeclPool()
  {
      return fEntityDeclPool;
  }
  
  inline const NameIdPool<DTDEntityDecl>* XMLScanner::getEntityDeclPool() const
  {
      return fEntityDeclPool;
  }
  
  inline const XMLStringPool* XMLScanner::getURIStringPool() const
  {
      return fURIStringPool;
  }
  
  inline XMLStringPool* XMLScanner::getURIStringPool()
  {
      return fURIStringPool;
  }
  
  inline bool XMLScanner::getHasNoDTD() const
  {
      return fHasNoDTD;
  }
  
  // ---------------------------------------------------------------------------
  //  XMLScanner: Setter methods
  // ---------------------------------------------------------------------------
  inline void XMLScanner::setDocHandler(XMLDocumentHandler* const docHandler)
  {
      fDocHandler = docHandler;
  }
  
  inline void XMLScanner::setDocTypeHandler(DocTypeHandler* const docTypeHandler)
  {
      fDocTypeHandler = docTypeHandler;
  }
  
  inline void XMLScanner::setDoNamespaces(const bool doNamespaces)
  {
      fDoNamespaces = doNamespaces;
      if (fDoNamespaces) {
          if (!fURIStringPool) {
              fURIStringPool = new XMLStringPool();
              resetURIStringPool();
          }
      }
  }
  
  inline void XMLScanner::setErrorReporter(XMLErrorReporter* const errHandler)
  {
      fErrorReporter = errHandler;
      fDTDValidator->setErrorReporter(fErrorReporter);
      fSchemaValidator->setErrorReporter(fErrorReporter);
  }
  
  inline void XMLScanner::setErrorHandler(ErrorHandler* const handler)
  {
      fErrorHandler = handler;
  }
  
  inline void XMLScanner::setEntityHandler(XMLEntityHandler* const entityHandler)
  {
      fEntityHandler = entityHandler;
      fReaderMgr.setEntityHandler(entityHandler);
  }
  
  inline void XMLScanner::setEntityResolver(EntityResolver* const handler)
  {
      fEntityResolver = handler;
  }
  
  inline void XMLScanner::setExitOnFirstFatal(const bool newValue)
  {
      fExitOnFirstFatal = newValue;
  }
  
  inline void XMLScanner::setValidationConstraintFatal(const bool newValue)
  {
      fValidationConstraintFatal = newValue;
  }
  
  inline void XMLScanner::setValidationScheme(const ValSchemes newScheme)
  {
      fValScheme = newScheme;
  
      // validation flag for Val_Auto is set to false by default,
      //   and will be turned to true if a grammar is seen
      if (fValScheme == Val_Always)
          fValidate = true;
      else
          fValidate = false;
  }
  
  inline void XMLScanner::setValidator(XMLValidator* const valToAdopt)
  {
      if (fValidatorFromUser)
          delete fValidator;
      fValidator = valToAdopt;
      fValidatorFromUser = true;
      initValidator(fValidator);
  }
  
  inline void XMLScanner::setDoSchema(const bool doSchema)
  {
      fDoSchema = doSchema;
  }
  
  inline void XMLScanner::setValidationSchemaFullChecking(const bool schemaFullChecking)
  {
      fSchemaFullChecking = schemaFullChecking;
  }
  
  inline void XMLScanner::setHasNoDTD(const bool hasNoDTD)
  {
      fHasNoDTD = hasNoDTD;
  }
  
  // ---------------------------------------------------------------------------
  //  XMLScanner: Mutator methods
  // ---------------------------------------------------------------------------
  inline void XMLScanner::incrementErrorCount()
  {
      ++fErrorCount;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLScanner: Deprecated methods
  // ---------------------------------------------------------------------------
  inline bool XMLScanner::getDoValidation() const
  {
      return fValidate;
  }
  
  inline void XMLScanner::setDoValidation(const bool validate, const bool setValScheme)
  {
      fValidate = validate;
      if (setValScheme) {
          if (fValidate)
              fValScheme = Val_Always;
          else
              fValScheme = Val_Never;
      }
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/parsers/DOMParser.hpp
  
  Index: DOMParser.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DOMParser.hpp,v 1.1 2002/03/22 00:41:53 sanjiva Exp $
   *
   */
  
  #if !defined(DOMPARSER_HPP)
  #define DOMPARSER_HPP
  
  
  #include <dom/DOM_Document.hpp>
  #include <framework/XMLDocumentHandler.hpp>
  #include <framework/XMLErrorReporter.hpp>
  #include <framework/XMLEntityHandler.hpp>
  #include <util/ValueStackOf.hpp>
  
  #include <validators/DTD/DocTypeHandler.hpp>
  #include <dom/DOM_DocumentType.hpp>
  #include <validators/DTD/DTDElementDecl.hpp>
  
  class EntityResolver;
  class ErrorHandler;
  class XMLPScanToken;
  class XMLScanner;
  class XMLValidator;
  
  
  /**
    * This class implements the Document Object Model (DOM) interface.
    * It should be used by applications which choose to parse and
    * process the XML document using the DOM api's. This implementation
    * also allows the applications to install an error and an entitty
    * handler (useful extensions to the DOM specification).
    *
    * <p>It can be used to instantiate a validating or non-validating
    * parser, by setting a member flag.</p>
    */
  class PARSERS_EXPORT DOMParser :
  
      public XMLDocumentHandler
      , public XMLErrorReporter
      , public XMLEntityHandler
      , public DocTypeHandler
  {
  public :
      // -----------------------------------------------------------------------
      //  Class types
      // -----------------------------------------------------------------------
      enum ValSchemes
      {
          Val_Never
          , Val_Always
          , Val_Auto
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Detructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors and Destructor */
      //@{
      /** Construct a DOMParser, with an optional validator
        *
        * Constructor with an instance of validator class to use for
        * validation. If you don't provide a validator, a default one will
        * be created for you in the scanner.
        *
        * @param valToAdopt Pointer to the validator instance to use. The
        *                   parser is responsible for freeing the memory.
        */
      DOMParser(XMLValidator* const valToAdopt = 0);
  
      /**
        * Destructor
        */
      ~DOMParser();
  
      //@}
  
      /** Reset the parser
        *
        * This method resets the state of the DOM driver and makes
        * it ready for a fresh parse run.
        */
      void reset();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /** Get the DOM document
        *
        * This method returns the DOM_Document object representing the
        * root of the document tree. This object provides the primary
        * access to the document's data.
        *
        * @return The DOM_Document object which represents the entire
        *         XML document.
        */
      DOM_Document getDocument();
  
      /** Get a pointer to the error handler
        *
        * This method returns the installed error handler. If no handler
        * has been installed, then it will be a zero pointer.
        *
        * @return The pointer to the installed error handler object.
        */
      ErrorHandler* getErrorHandler();
  
      /** Get a const pointer to the error handler
        *
        * This method returns the installed error handler.  If no handler
        * has been installed, then it will be a zero pointer.
        *
        * @return A const pointer to the installed error handler object.
        */
      const ErrorHandler* getErrorHandler() const;
  
      /** Get a pointer to the entity resolver
        *
        * This method returns the installed entity resolver.  If no resolver
        * has been installed, then it will be a zero pointer.
        *
        * @return The pointer to the installed entity resolver object.
        */
      EntityResolver* getEntityResolver();
  
      /** Get a const pointer to the entity resolver
        *
        * This method returns the installed entity resolver. If no resolver
        * has been installed, then it will be a zero pointer.
        *
        * @return A const pointer to the installed entity resolver object.
        */
      const EntityResolver* getEntityResolver() const;
  
      /** Get a const reference to the underlying scanner
        *
        * This method returns a reference to the underlying scanner object.
        * It allows read only access to data maintained in the scanner.
        *
        * @return A const reference to the underlying scanner object.
        */
      const XMLScanner& getScanner() const;
  
      /** Get a const reference to the validator
        *
        * This method returns a reference to the parser's installed
        * validator.
        *
        * @return A const reference to the installed validator object.
        */
      const XMLValidator& getValidator() const;
  
      /**
        * This method returns an enumerated value that indicates the current
        * validation scheme set on this parser.
        *
        * @return The ValSchemes value current set on this parser.
        * @see #setValidationScheme
        */
      ValSchemes getValidationScheme() const;
  
      /** Get the 'do schema' flag
        *
        * This method returns the state of the parser's schema processing
        * flag.
        *
        * @return true, if the parser is currently configured to
        *         understand schema, false otherwise.
        *
        * @see #setDoSchema
        */
      bool getDoSchema() const;
  
      /** Get the 'full schema constraint checking' flag
        *
        * This method returns the state of the parser's full schema constraint
        * checking flag.
        *
        * @return true, if the parser is currently configured to
        *         have full schema constraint checking, false otherwise.
        *
        * @see #setValidationSchemaFullChecking
        */
      bool getValidationSchemaFullChecking() const;
  
      /** Get error count from the last parse operation.
        *
        * This method returns the error count from the last parse
        * operation. Note that this count is actually stored in the
        * scanner, so this method simply returns what the
        * scanner reports.
        *
        * @return number of errors encountered during the latest
        *			parse operation.
        *
        */
      int getErrorCount() const;
  
      /** Get the 'do namespaces' flag
        *
        * This method returns the state of the parser's namespace processing
        * flag.
        *
        * @return true, if the parser is currently configured to
        *         understand namespaces, false otherwise.
        *
        * @see #setDoNamespaces
        */
      bool getDoNamespaces() const;
  
      /** Get the 'exit on first error' flag
        *
        * This method returns the state of the parser's
        * exit-on-First-Fatal-Error flag. If this flag is true, then the
        * parse will exit the first time it sees any non-wellformed XML or
        * any validity error. The default state is true.
        *
        * @return true, if the parser is currently configured to
        *         exit on the first fatal error, false otherwise.
        *
        * @see #setExitOnFirstFatalError
        */
      bool getExitOnFirstFatalError() const;
  
      /**
        * This method returns the state of the parser's
        * validation-constraint-fatal flag.
        *
        * @return true, if the parser is currently configured to
        *         set validation constraint errors as fatal, false
        *         otherwise.
        *
        * @see #setValidationContraintFatal
        */
      bool getValidationConstraintFatal() const;
  
      /** Get the 'expand entity references' flag.
        * DEPRECATED Use getCreateEntityReferenceNodes() instead.
        *
        * This method returns the state of the parser's expand entity
        * references flag.
        *
        * @return 'true' if the expand entity reference flag is set on
        *         the parser, 'false' otherwise.
        *
        * @see #setExpandEntityReferences
        */
      bool getExpandEntityReferences() const;
  
      /** Get the 'include entity references' flag
        *
        * This flag  specifies whether the parser is
        * creating entity reference nodes in the DOM tree being produced.
        * When the 'create' flag is
        * true, the DOM tree will contain entity reference nodes.
        * When the 'create' flag is false, no entity reference nodes
        * are included in the DOM tree.
        * <p>The replacement text
        * of the entity is included in either case, either as a
        * child of the Entity Reference node or in place at the location
        * of the reference.
        *
        * @return  The state of the create entity reference node
        *               flag.
        * @see #setCreateEntityReferenceNodes
        */
      bool  getCreateEntityReferenceNodes()const;
  
     /** Get the 'include ignorable whitespace' flag.
        *
        * This method returns the state of the parser's include ignorable
        * whitespace flag.
        *
        * @return 'true' if the include ignorable whitespace flag is set on
        *         the parser, 'false' otherwise.
        *
        * @see #setIncludeIgnorableWhitespace
        */
      bool getIncludeIgnorableWhitespace() const;
  
      /** Get the 'to create MXLDecl node' flag.
        *
        * This method returns the state of the parser's to create XMLDecl
        * DOM Node flag.
        *
        * @return 'true' if the toCreateXMLDeclTypeNode flag is set on
        *         the parser, 'false' otherwise.
        *
        */
      bool getToCreateXMLDeclTypeNode() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /** Set the error handler
        *
        * This method allows applications to install their own error handler
        * to trap error and warning messages.
        *
        * <i>Any previously set handler is merely dropped, since the parser
        * does not own them.</i>
        *
        * @param handler  A const pointer to the user supplied error
        *                 handler.
        *
        * @see #getErrorHandler
        */
      void setErrorHandler(ErrorHandler* const handler);
  
      /** Set the entity resolver
        *
        * This method allows applications to install their own entity
        * resolver. By installing an entity resolver, the applications
        * can trap and potentially redirect references to external
        * entities.
        *
        * <i>Any previously set resolver is merely dropped, since the parser
        * does not own them.</i>
        *
        * @param handler  A const pointer to the user supplied entity
        *                 resolver.
        *
        * @see #getEntityResolver
        */
      void setEntityResolver(EntityResolver* const handler);
  
      /** Set the 'do namespaces' flag
        *
        * This method allows users to enable or disable the parser's
        * namespace processing. When set to true, parser starts enforcing
        * all the constraints and rules specified by the NameSpace
        * specification.
        *
        * The parser's default state is: false.
        *
        * This flag is ignored by the underlying scanner if the installed
        * validator indicates that namespace constraints should be
        * enforced.
        *
        * @param newState The value specifying whether NameSpace rules should
        *                 be enforced or not.
        *
        * @see #getDoNamespaces
        */
      void setDoNamespaces(const bool newState);
  
      /** Set the 'exit on first error' flag
        *
        * This method allows users to set the parser's behaviour when it
        * encounters the first fatal error. If set to true, the parser
        * will exit at the first fatal error. If false, then it will
        * report the error and continue processing.
        *
        * The default value is 'true' and the parser exits on the
        * first fatal error.
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters the first
        *                 fatal error.
        *
        * @see #getExitOnFirstFatalError
        */
      void setExitOnFirstFatalError(const bool newState);
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters a validtion constraint error. If set to true, and the
        * the parser is set to exit when it encounter the first fatal error,
        * the parser will exit at the first encounter. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'false'.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters a validation
        *                 constraint error.
        *
        * @see #getValidationConstraintFatal
        */
      void setValidationConstraintFatal(const bool newState);
  
      /** Set the 'expand entity references' flag
        *
        * DEPRECATED.  USE setCreateEntityReferenceNodes instead.
        * This method allows the user to specify whether the parser should
        * expand all entity reference nodes. When the 'do expansion' flag is
        * true, the DOM tree does not have any entity reference nodes. It is
        * replaced by the sub-tree representing the replacement text of the
        * entity. When the 'do expansion' flag is false, the DOM tree
        * contains an extra entity reference node, whose children is the
        * sub tree of the replacement text.
        *
        * @param expand The new state of the expand entity reference
        *               flag.
        */
      void setExpandEntityReferences(const bool expand);
  
       /** Set the 'include entity references' flag
        *
        * This method allows the user to specify whether the parser should
        * create entity reference nodes in the DOM tree being produced.
        * When the 'create' flag is
        * true, the DOM tree constains entity reference nodes.
        * When the 'create' flag is false, no entity reference nodes
        * are included in the DOM tree.
        * <p>The replacement text
        * of the entity is included in either case, either as a
        * child of the Entity Reference node or in place at the location
        * of the reference.
        *
        * @param create The new state of the create entity reference nodes
        *               flag.
        */
      void setCreateEntityReferenceNodes(const bool create);
  
     /** Set the 'include ignorable whitespace' flag
        *
        * This method allows the user to specify whether a validating parser
        * should include ignorable whitespaces as text nodes.  It has no effect
        * on non-validating parsers which always include non-markup text.
        * <p>When set to true (also the default), ignorable whitespaces will be
        * added to the DOM tree as text nodes.  The method
        * DOM_Text::isIgnorableWhitespace() will return true for those text
        * nodes only.
        * <p>When set to false, all ignorable whitespace will be discarded and
        * no text node is added to the DOM tree.  Note: applications intended
        * to process the "xml:space" attribute should not set this flag to false.
        * And this flag also overrides any schema datateye whitespace facets,
        * that is, all ignorable whitespace will be discarded even though
        * 'preserve' is set in schema datatype whitespace facets.
        *
        * @param include The new state of the include ignorable whitespace
        *                flag.
        *
        * @see #getIncludeIgnorableWhitespace
        */
      void setIncludeIgnorableWhitespace(const bool include);
  
      /**
        * This method allows users to set the validation scheme to be used
        * by this parser. The value is one of the ValSchemes enumerated values
        * defined by this class:
        *
        * <br>  Val_Never  - turn off validation
        * <br>  Val_Always - turn on validation
        * <br>  Val_Auto   - turn on validation if any internal/external
        *                  DTD subset have been seen
        *
        * <p>The parser's default state is: Val_Auto.</p>
        *
        * @param newScheme The new validation scheme to use.
        *
        * @see #getValidationScheme
        */
      void setValidationScheme(const ValSchemes newScheme);
  
      /** Set the 'do schema' flag
        *
        * This method allows users to enable or disable the parser's
        * schema processing. When set to false, parser will not process
        * any schema found.
        *
        * The parser's default state is: false.
        *
        * @param newState The value specifying whether schema support should
        *                 be enforced or not.
        *
        * @see #getDoSchema
        */
      void setDoSchema(const bool newState);
  
      /**
        * This method allows the user to turn full Schema constraint checking on/off.
        * Only takes effect if Schema validation is enabled.
        * If turned off, partial constraint checking is done.
        *
        * Full schema constraint checking includes those checking that may
        * be time-consuming or memory intensive. Currently, particle unique
        * attribution constraint checking and particle derivation resriction checking
        * are controlled by this option.
        *
        * The parser's default state is: false.
        *
        * @param schemaFullChecking True to turn on full schema constraint checking.
        *
        * @see #getValidationSchemaFullChecking
        */
      void setValidationSchemaFullChecking(const bool schemaFullChecking);
  
      /**
        * This method allows users to set the toCreateXMLDeclTypeNode flag
        * by this parser. By setting it to 'true' user can have XMLDecl type
        * nodes attached to the DOM tree.
        *
        * <p>The parser's default state is: false </p>
        *
        * @param newState The new to create XMLDecl type node flag
        *
        */
      void setToCreateXMLDeclTypeNode(const bool create);
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Parsing methods
      // -----------------------------------------------------------------------
  
      /** @name Parsing methods */
      //@{
  
      /** Parse via an input source object
        *
        * This method invokes the parsing process on the XML file specified
        * by the InputSource parameter. This API is borrowed from the
        * SAX Parser interface.
        *
        * @param source A const reference to the InputSource object which
        *               points to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception DOM_DOMException A DOM exception as per DOM spec.
        * @see InputSource#InputSource
        * @see #setEntityResolver
        * @see #setErrorHandler
        */
      void parse(const InputSource& source, const bool reuseGrammar = false);
  
      /** Parse via a file path or URL
        *
        * This method invokes the parsing process on the XML file specified by
        * the Unicode string parameter 'systemId'. This method is borrowed
        * from the SAX Parser interface.
        *
        * @param systemId A const XMLCh pointer to the Unicode string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception DOM_DOMException A DOM exception as per DOM spec.
        * @see #parse(InputSource,...)
        */
      void parse(const XMLCh* const systemId, const bool reuseGrammar = false);
  
      /** Parse via a file path or URL (in the local code page)
        *
        * This method invokes the parsing process on the XML file specified by
        * the native char* string parameter 'systemId'.
        *
        * @param systemId A const char pointer to a native string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception DOM_DOMException A DOM exception as per DOM spec.
        * @see #parse(InputSource,...)
        */
      void parse(const char* const systemId, const bool reuseGrammar = false);
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a Unicode string represting the path
        *                 to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing process.
        *                     If true, there cannot be any internal subset.
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a regular native string represting
        *                 the path to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param source   A const reference to the InputSource object which
        *                 points to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing process.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        */
      bool parseFirst
      (
          const   InputSource&    source
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Continue a progressive parse operation
        *
        * This method is used to continue with progressive parsing of
        * XML files started by a call to 'parseFirst' method.
        *
        * It parses the XML file and stops as soon as it comes across
        * a XML token (as defined in the XML specification).
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @return 'true', if successful in parsing the next XML token.
        *         It indicates the user can go ahead with parsing the rest
        *         of the file. It returns 'false' to indicate that the parser
        *         could not find next token as per the XML specification
        *         production rule.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseNext(XMLPScanToken& token);
  
      /** Reset the parser after a progressive parse
        *
        * If a progressive parse loop exits before the end of the document
        * is reached, the parser has no way of knowing this. So it will leave
        * open any files or sockets or memory buffers that were in use at
        * the time that the parse loop exited.
        *
        * The next parse operation will cause these open files and such to
        * be closed, but the next parse operation might occur at some unknown
        * future point. To avoid this problem, you should reset the parser if
        * you exit the loop early.
        *
        * If you exited because of an error, then this cleanup will be done
        * for you. Its only when you exit the file prematurely of your own
        * accord, because you've found what you wanted in the file most
        * likely.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      void parseReset(XMLPScanToken& token);
  
      //@}
  
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLErrorReporter interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLErrorReporter interface. */
      //@{
  
      /** Handle errors reported from the parser
        *
        * This method is used to report back errors found while parsing the
        * XML file. This method is also borrowed from the SAX specification.
        * It calls the corresponding user installed Error Handler method:
        * 'fatal', 'error', 'warning' depending on the severity of the error.
        * This classification is defined by the XML specification.
        *
        * @param errCode An integer code for the error.
        * @param msgDomain A const pointer to an Unicode string representing
        *                  the message domain to use.
        * @param errType An enumeration classifying the severity of the error.
        * @param errorText A const pointer to an Unicode string representing
        *                  the text of the error message.
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id of the XML file where this error
        *                  was discovered.
        * @param publicId  A const pointer to an Unicode string representing
        *                  the public id of the XML file where this error
        *                  was discovered.
        * @param lineNum   The line number where the error occurred.
        * @param colNum    The column number where the error occurred.
        * @see ErrorHandler
        */
      virtual void error
      (
          const   unsigned int                errCode
          , const XMLCh* const                msgDomain
          , const XMLErrorReporter::ErrTypes  errType
          , const XMLCh* const                errorText
          , const XMLCh* const                systemId
          , const XMLCh* const                publicId
          , const unsigned int                lineNum
          , const unsigned int                colNum
      );
  
      /** Reset any error data before a new parse
       *
        * This method allows the user installed Error Handler callback to
        * 'reset' itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this DOM
        * implementation.</font></b>
        */
      virtual void resetErrors();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLEntityHandler interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLEntityHandler interface. */
      //@{
  
      /** Handle an end of input source event
        *
        * This method is used to indicate the end of parsing of an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this DOM
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the XML file being parsed.
        * @see InputSource
        */
      virtual void endInputSource(const InputSource& inputSource);
  
      /** Expand a system id
        *
        * This method allows an installed XMLEntityHandler to further
        * process any system id's of enternal entities encountered in
        * the XML file being parsed, such as redirection etc.
        *
        * <b><font color="#FF0000">This method always returns 'false'
        * for this DOM implementation.</font></b>
        *
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id scanned by the parser.
        * @param toFill    A pointer to a buffer in which the application
        *                  processed system id is stored.
        * @return 'true', if any processing is done, 'false' otherwise.
        */
      virtual bool expandSystemId
      (
          const   XMLCh* const    systemId
          ,       XMLBuffer&      toFill
      );
  
      /** Reset any entity handler information
        *
        * This method allows the installed XMLEntityHandler to reset
        * itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this DOM
        * implementation.</font></b>
        */
      virtual void resetEntities();
  
      /** Resolve a public/system id
        *
        * This method allows a user installed entity handler to further
        * process any pointers to external entities. The applications can
        * implement 'redirection' via this callback. This method is also
        * borrowed from the SAX specification.
        *
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the entity just parsed.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the entity just parsed.
        * @return The value returned by the user installed resolveEntity
        *         method or NULL otherwise to indicate no processing was done.
        * @see EntityResolver
        */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /** Handle a 'start input source' event
        *
        * This method is used to indicate the start of parsing an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this DOM parse
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the external entity
        *                    being parsed.
        */
      virtual void startInputSource(const InputSource& inputSource);
  
      //@}
  
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLDocumentHandler interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLDocumentHandler interface. */
      //@{
  
      /** Handle document character events
        *
        * This method is used to report all the characters scanned by the
        * parser. This DOM implementation stores this data in the appropriate
        * DOM node, creating one if necessary.
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                character data.
        * @param length  The length of the Unicode string returned in 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        */
      virtual void docCharacters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /** Handle a document comment event
        *
        * This method is used to report any comments scanned by the parser.
        * A new comment node is created which stores this data.
        *
        * @param comment A const pointer to a null terminated Unicode
        *                string representing the comment text.
        */
      virtual void docComment
      (
          const   XMLCh* const    comment
      );
  
      /** Handle a document PI event
        *
        * This method is used to report any PI scanned by the parser. A new
        * PI node is created and appended as a child of the current node in
        * the tree.
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        */
      virtual void docPI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /** Handle the end of document event
        *
        * This method is used to indicate the end of the current document.
        */
      virtual void endDocument();
  
      /** Handle and end of element event
        *
        * This method is used to indicate the end tag of an element. The
        * DOMParse pops the current element off the top of the element
        * stack, and make it the new current element.
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        */
      virtual void endElement
      (
          const   XMLElementDecl& elemDecl
          , const unsigned int    urlId
          , const bool            isRoot
      );
  
      /** Handle and end of entity reference event
        *
        * This method is used to indicate that an end of an entity reference
        * was just scanned.
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void endEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /** Handle an ignorable whitespace vent
        *
        * This method is used to report all the whitespace characters, which
        * are determined to be 'ignorable'. This distinction between characters
        * is only made, if validation is enabled.
        *
        * Any whitespace before content is ignored. If the current node is
        * already of type DOM_Node::TEXT_NODE, then these whitespaces are
        * appended, otherwise a new Text node is created which stores this
        * data. Essentially all contiguous ignorable characters are collected
        * in one node.
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                ignorable whitespace character data.
        * @param length  The length of the Unicode string 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /** Handle a document reset event
        *
        * This method allows the user installed Document Handler to 'reset'
        * itself, freeing all the memory resources. The scanner calls this
        * method before starting a new parse event.
        */
      virtual void resetDocument();
  
      /** Handle a start document event
        *
        * This method is used to report the start of the parsing process.
        */
      virtual void startDocument();
  
      /** Handle a start element event
        *
        * This method is used to report the start of an element. It is
        * called at the end of the element, by which time all attributes
        * specified are also parsed. A new DOM Element node is created
        * along with as many attribute nodes as required. This new element
        * is added appended as a child of the current node in the tree, and
        * then replaces it as the current node (if the isEmpty flag is false.)
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param elemPrefix A const pointer to a Unicode string containing
        *                 the namespace prefix for this element. Applicable
        *                 only when namespace processing is enabled.
        * @param attrList A const reference to the object containing the
        *                 list of attributes just scanned for this element.
        * @param attrCount A count of number of attributes in the list
        *                 specified by the parameter 'attrList'.
        * @param isEmpty  A flag indicating whether this is an empty element
        *                 or not. If empty, then no endElement() call will
        *                 be made.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#startElement
        */
      virtual void startElement
      (
          const   XMLElementDecl&         elemDecl
          , const unsigned int            urlId
          , const XMLCh* const            elemPrefix
          , const RefVectorOf<XMLAttr>&   attrList
          , const unsigned int            attrCount
          , const bool                    isEmpty
          , const bool                    isRoot
      );
  
      /** Handle a start entity reference event
        *
        * This method is used to indicate the start of an entity reference.
        * If the expand entity reference flag is true, then a new
        * DOM Entity reference node is created.
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void startEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /** Handle an XMLDecl event
        *
        * This method is used to report the XML decl scanned by the parser.
        * Refer to the XML specification to see the meaning of parameters.
        *
        * <b><font color="#FF0000">This method is a no-op for this DOM
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   version string value.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding string value.
        * @param standaloneStr A const pointer to a Unicode string
        *                      representing the standalone string value.
        * @param actualEncodingStr A const pointer to a Unicode string
        *                          representing the actual encoding string
        *                          value.
        */
      virtual void XMLDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
          , const XMLCh* const    standaloneStr
          , const XMLCh* const    actualEncStr
      );
      //@}
  
  
      /** @name Deprecated Methods */
      //@{
      /**
        * This method returns the state of the parser's validation
        * handling flag which controls whether validation checks
        * are enforced or not.
        *
        * @return true, if the parser is currently configured to
        *         do validation, false otherwise.
        *
        * @see #setDoValidation
        */
      bool getDoValidation() const;
  
      /**
        * This method allows users to enable or disable the parser's validation
        * checks.
        *
        * <p>By default, the parser does not to any validation. The default
        * value is false.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 do validity checks or not against the DTD in the
        *                 input XML document.
        *
        * @see #getDoValidation
        */
      void setDoValidation(const bool newState);
  
      /**
        * Deprecated doctypehandler interfaces
        */
  	virtual void attDef
      (
          const   DTDElementDecl&     elemDecl
          , const DTDAttDef&          attDef
          , const bool                ignoring
      );
  
      virtual void doctypeComment
      (
          const   XMLCh* const    comment
      );
  
      virtual void doctypeDecl
      (
          const   DTDElementDecl& elemDecl
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const bool            hasIntSubset
      );
  
      virtual void doctypePI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      virtual void doctypeWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
      virtual void elementDecl
      (
          const   DTDElementDecl& decl
          , const bool            isIgnored
      );
  
      virtual void endAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      virtual void endIntSubset();
  
      virtual void endExtSubset();
  
      virtual void entityDecl
      (
          const   DTDEntityDecl&  entityDecl
          , const bool            isPEDecl
          , const bool            isIgnored
      );
  
      virtual void resetDocType();
  
      virtual void notationDecl
      (
          const   XMLNotationDecl&    notDecl
          , const bool                isIgnored
      );
  
      virtual void startAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      virtual void startIntSubset();
  
      virtual void startExtSubset();
  
      virtual void TextDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
      );
  
  
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected getter methods
      // -----------------------------------------------------------------------
  
      /** @name Protected getter methods */
      //@{
      /** Get the current DOM node
        *
        * This provides derived classes with access to the current node, i.e.
        * the node to which new nodes are being added.
        */
      DOM_Node getCurrentNode();
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Protected setter methods
      // -----------------------------------------------------------------------
  
      /** @name Protected setter methods */
      //@{
  
      /** Set the current DOM node
        *
        * This method sets the current node maintained inside the parser to
        * the one specified.
        *
        * @param toSet The DOM node which will be the current node.
        */
      void setCurrentNode(DOM_Node toSet);
  
      /** Set the document node
        *
        * This method sets the DOM Document node to the one specified.
        *
        * @param toSet The new DOM Document node for this XML document.
        */
      void setDocument(DOM_Document toSet);
      //@}
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fCurrentNode
      //  fCurrentParent
      //      Used to track the current node during nested element events. Since
      //      the tree must be built from a set of disjoint callbacks, we need
      //      these to keep up with where we currently are.
      //
      //  fDocument
      //      The root document object, filled with the document contents.
      //
      //  fEntityResolver
      //      The installed SAX entity resolver, if any. Null if none.
      //
      //  fErrorHandler
      //      The installed SAX error handler, if any. Null if none.
      //
      //  fCreateEntityReferenceNode
      //      Indicates whether entity reference nodes should be created.
      //
      //  fIncludeIgnorableWhitespace
      //      Indicates whether ignorable whiltespace should be added to
      //      the DOM tree for validating parsers.
      //
      //  fNodeStack
      //      Used to track previous parent nodes during nested element events.
      //
      //  fParseInProgress
      //      Used to prevent multiple entrance to the parser while its doing
      //      a parse.
      //
      //  fScanner
      //      The scanner used for this parser. This is created during the
      //      constructor.
      //
      //  fWithinElement
      //      A flag to indicate that the parser is within at least one level
      //      of element processing.
      //
      //  fDocumentType
      //      Used to store and update the documentType variable information
      //      in fDocument
      //
      //  fToCreateXMLDecTypeNode
      //      A flag to create a DOM_XMLDecl node in the ODM tree if it exists
      //      This is an extension to xerces implementation
      //
      // -----------------------------------------------------------------------
      DOM_Node                fCurrentParent;
      DOM_Node                fCurrentNode;
      DOM_Document            fDocument;
      EntityResolver*         fEntityResolver;
      ErrorHandler*           fErrorHandler;
      bool                    fCreateEntityReferenceNodes;
      bool                    fIncludeIgnorableWhitespace;
      ValueStackOf<DOM_Node>* fNodeStack;
      bool                    fParseInProgress;
      XMLScanner*             fScanner;
      bool                    fWithinElement;
      DocumentTypeImpl*       fDocumentType;
      bool                    fToCreateXMLDeclTypeNode;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  DOMParser: Handlers for the XMLEntityHandler interface
  // ---------------------------------------------------------------------------
  inline void DOMParser::endInputSource(const InputSource&)
  {
      // The DOM entity resolver doesn't handle this
  }
  
  inline bool DOMParser::expandSystemId(const XMLCh* const, XMLBuffer&)
  {
      // The DOM entity resolver doesn't handle this
      return false;
  }
  
  inline void DOMParser::resetEntities()
  {
      // Nothing to do on this one
  }
  
  inline void DOMParser::startInputSource(const InputSource&)
  {
      // The DOM entity resolver doesn't handle this
  }
  
  
  // ---------------------------------------------------------------------------
  //  DOMParser: Getter methods
  // ---------------------------------------------------------------------------
  inline DOM_Document DOMParser::getDocument()
  {
      return fDocument;
  }
  
  inline ErrorHandler* DOMParser::getErrorHandler()
  {
      return fErrorHandler;
  }
  
  inline const ErrorHandler* DOMParser::getErrorHandler() const
  {
      return fErrorHandler;
  }
  
  inline EntityResolver* DOMParser::getEntityResolver()
  {
      return fEntityResolver;
  }
  
  inline const EntityResolver* DOMParser::getEntityResolver() const
  {
      return fEntityResolver;
  }
  
  inline bool DOMParser::getExpandEntityReferences() const
  {
      return fCreateEntityReferenceNodes;
  }
  inline bool DOMParser::getCreateEntityReferenceNodes() const
  {
      return fCreateEntityReferenceNodes;
  }
  
  inline bool DOMParser::getIncludeIgnorableWhitespace() const
  {
      return fIncludeIgnorableWhitespace;
  }
  
  inline const XMLScanner& DOMParser::getScanner() const
  {
      return *fScanner;
  }
  
  inline bool DOMParser::getToCreateXMLDeclTypeNode() const
  {
      return fToCreateXMLDeclTypeNode;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DOMParser: Setter methods
  // ---------------------------------------------------------------------------
  inline void DOMParser::setExpandEntityReferences(const bool expand)
  {
      fCreateEntityReferenceNodes = expand;
  }
  
  inline void DOMParser::setCreateEntityReferenceNodes(const bool create)
  {
      fCreateEntityReferenceNodes = create;
  }
  
  inline void DOMParser::setIncludeIgnorableWhitespace(const bool include)
  {
      fIncludeIgnorableWhitespace = include;
  }
  
  inline void DOMParser::setToCreateXMLDeclTypeNode(const bool create)
  {
      fToCreateXMLDeclTypeNode = create;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DOMParser: Protected getter methods
  // ---------------------------------------------------------------------------
  inline DOM_Node DOMParser::getCurrentNode()
  {
      return fCurrentNode;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DOMParser: Protected setter methods
  // ---------------------------------------------------------------------------
  inline void DOMParser::setCurrentNode(DOM_Node toSet)
  {
      fCurrentNode = toSet;
  }
  
  inline void DOMParser::setDocument(DOM_Document toSet)
  {
      fDocument = toSet;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/parsers/IDOMParser.hpp
  
  Index: IDOMParser.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDOMParser.hpp,v 1.1 2002/03/22 00:41:53 sanjiva Exp $
   *
   */
  
  #if !defined(IDOMPARSER_HPP)
  #define IDOMPARSER_HPP
  
  
  #include <idom/IDOM_Document.hpp>
  #include <framework/XMLDocumentHandler.hpp>
  #include <framework/XMLErrorReporter.hpp>
  #include <framework/XMLEntityHandler.hpp>
  #include <util/ValueStackOf.hpp>
  
  #include <validators/DTD/DocTypeHandler.hpp>
  #include <idom/IDOM_DocumentType.hpp>
  #include <validators/DTD/DTDElementDecl.hpp>
  
  class EntityResolver;
  class ErrorHandler;
  class XMLPScanToken;
  class XMLScanner;
  class XMLValidator;
  class IDDocumentImpl;
  class IDDocumentTypeImpl;
  
  
  /**
    * This class implements the Document Object Model (DOM) interface.
    * It should be used by applications which choose to parse and
    * process the XML document using the DOM api's. This implementation
    * also allows the applications to install an error and an entitty
    * handler (useful extensions to the DOM specification).
    *
    * <p>It can be used to instantiate a validating or non-validating
    * parser, by setting a member flag.</p>
    */
  class PARSERS_EXPORT IDOMParser :
  
      public XMLDocumentHandler
      , public XMLErrorReporter
      , public XMLEntityHandler
      , public DocTypeHandler
  {
  public :
      // -----------------------------------------------------------------------
      //  Class types
      // -----------------------------------------------------------------------
      enum ValSchemes
      {
          Val_Never
          , Val_Always
          , Val_Auto
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Detructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors and Destructor */
      //@{
      /** Construct a IDOMParser, with an optional validator
        *
        * Constructor with an instance of validator class to use for
        * validation. If you don't provide a validator, a default one will
        * be created for you in the scanner.
        *
        * @param valToAdopt Pointer to the validator instance to use. The
        *                   parser is responsible for freeing the memory.
        */
      IDOMParser(XMLValidator* const valToAdopt = 0);
  
      /**
        * Destructor
        */
      ~IDOMParser();
  
      //@}
  
      /** Reset the parser
        *
        * This method resets the state of the IDOM driver and makes
        * it ready for a fresh parse run.
        */
      void reset();
  
      /** Reset the documents vector pool and release all the associated memory
        * back to the system.
        *
        * When parsing a document using an IDOMParser, all memory allocated
        * for a DOM tree is associated to the DOM document.
        *
        * If you do multiple parse using the same IDOMParser instance, then
        * multiple DOM documents will be generated and saved in a vector pool.
        * All these documents (and thus all the allocated memory)
        * won't be deleted until the parser instance is destroyed.
        *
        * If you don't need these DOM documents anymore and don't want to
        * destroy the IDOMParser instance at this moment, then you can call this method
        * to reset the document vector pool and release all the allocated memory
        * back to the system.
        *
        * It is an error to call this method if you are in the middle of a
        * parse (e.g. in the mid of a progressive parse).
        *
        * @exception IOException An exception from the parser if this function
        *            is called when a parse is in progress.
        *
        */
      void resetDocumentPool();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /** Get the IDOM document
        *
        * This method returns the IDOM_Document object representing the
        * root of the document tree. This object provides the primary
        * access to the document's data.
        *
        * @return The IDOM_Document object which represents the entire
        *         XML document.
        */
      IDOM_Document* getDocument();
  
      /** Get a pointer to the error handler
        *
        * This method returns the installed error handler. If no handler
        * has been installed, then it will be a zero pointer.
        *
        * @return The pointer to the installed error handler object.
        */
      ErrorHandler* getErrorHandler();
  
      /** Get a const pointer to the error handler
        *
        * This method returns the installed error handler.  If no handler
        * has been installed, then it will be a zero pointer.
        *
        * @return A const pointer to the installed error handler object.
        */
      const ErrorHandler* getErrorHandler() const;
  
      /** Get a pointer to the entity resolver
        *
        * This method returns the installed entity resolver.  If no resolver
        * has been installed, then it will be a zero pointer.
        *
        * @return The pointer to the installed entity resolver object.
        */
      EntityResolver* getEntityResolver();
  
      /** Get a const pointer to the entity resolver
        *
        * This method returns the installed entity resolver. If no resolver
        * has been installed, then it will be a zero pointer.
        *
        * @return A const pointer to the installed entity resolver object.
        */
      const EntityResolver* getEntityResolver() const;
  
      /** Get a const reference to the validator
        *
        * This method returns a reference to the parser's installed
        * validator.
        *
        * @return A const reference to the installed validator object.
        */
      const XMLValidator& getValidator() const;
  
      /**
        * This method returns an enumerated value that indicates the current
        * validation scheme set on this parser.
        *
        * @return The ValSchemes value current set on this parser.
        * @see #setValidationScheme
        */
      ValSchemes getValidationScheme() const;
  
      /** Get the 'do schema' flag
        *
        * This method returns the state of the parser's schema processing
        * flag.
        *
        * @return true, if the parser is currently configured to
        *         understand schema, false otherwise.
        *
        * @see #setDoSchema
        */
      bool getDoSchema() const;
  
      /** Get the 'full schema constraint checking' flag
        *
        * This method returns the state of the parser's full schema constraint
        * checking flag.
        *
        * @return true, if the parser is currently configured to
        *         have full schema constraint checking, false otherwise.
        *
        * @see #setValidationSchemaFullChecking
        */
      bool getValidationSchemaFullChecking() const;
  
      /** Get error count from the last parse operation.
        *
        * This method returns the error count from the last parse
        * operation. Note that this count is actually stored in the
        * scanner, so this method simply returns what the
        * scanner reports.
        *
        * @return number of errors encountered during the latest
        *			parse operation.
        *
        */
      int getErrorCount() const;
  
      /** Get the 'do namespaces' flag
        *
        * This method returns the state of the parser's namespace processing
        * flag.
        *
        * @return true, if the parser is currently configured to
        *         understand namespaces, false otherwise.
        *
        * @see #setDoNamespaces
        */
      bool getDoNamespaces() const;
  
      /** Get the 'exit on first error' flag
        *
        * This method returns the state of the parser's
        * exit-on-First-Fatal-Error flag. If this flag is true, then the
        * parse will exit the first time it sees any non-wellformed XML or
        * any validity error. The default state is true.
        *
        * @return true, if the parser is currently configured to
        *         exit on the first fatal error, false otherwise.
        *
        * @see #setExitOnFirstFatalError
        */
      bool getExitOnFirstFatalError() const;
  
      /**
        * This method returns the state of the parser's
        * validation-constraint-fatal flag.
        *
        * @return true, if the parser is currently configured to
        *         set validation constraint errors as fatal, false
        *         otherwise.
        *
        * @see #setValidationContraintFatal
        */
      bool getValidationConstraintFatal() const;
  
      /** Get the 'expand entity references' flag.
        * DEPRECATED Use getCreateEntityReferenceNodes() instead.
        *
        * This method returns the state of the parser's expand entity
        * references flag.
        *
        * @return 'true' if the expand entity reference flag is set on
        *         the parser, 'false' otherwise.
        *
        * @see #setExpandEntityReferences
        */
      bool getExpandEntityReferences() const;
  
      /** Get the 'include entity references' flag
        *
        * This flag  specifies whether the parser is
        * creating entity reference nodes in the DOM tree being produced.
        * When the 'create' flag is
        * true, the DOM tree will contain entity reference nodes.
        * When the 'create' flag is false, no entity reference nodes
        * are included in the DOM tree.
        * <p>The replacement text
        * of the entity is included in either case, either as a
        * child of the Entity Reference node or in place at the location
        * of the reference.
        *
        * @return  The state of the create entity reference node
        *               flag.
        * @see #setCreateEntityReferenceNodes
        */
      bool  getCreateEntityReferenceNodes()const;
  
     /** Get the 'include ignorable whitespace' flag.
        *
        * This method returns the state of the parser's include ignorable
        * whitespace flag.
        *
        * @return 'true' if the include ignorable whitespace flag is set on
        *         the parser, 'false' otherwise.
        *
        * @see #setIncludeIgnorableWhitespace
        */
      bool getIncludeIgnorableWhitespace() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
  
      /** Set the error handler
        *
        * This method allows applications to install their own error handler
        * to trap error and warning messages.
        *
        * <i>Any previously set handler is merely dropped, since the parser
        * does not own them.</i>
        *
        * @param handler  A const pointer to the user supplied error
        *                 handler.
        *
        * @see #getErrorHandler
        */
      void setErrorHandler(ErrorHandler* const handler);
  
      /** Set the entity resolver
        *
        * This method allows applications to install their own entity
        * resolver. By installing an entity resolver, the applications
        * can trap and potentially redirect references to external
        * entities.
        *
        * <i>Any previously set resolver is merely dropped, since the parser
        * does not own them.</i>
        *
        * @param handler  A const pointer to the user supplied entity
        *                 resolver.
        *
        * @see #getEntityResolver
        */
      void setEntityResolver(EntityResolver* const handler);
  
      /** Set the 'do namespaces' flag
        *
        * This method allows users to enable or disable the parser's
        * namespace processing. When set to true, parser starts enforcing
        * all the constraints and rules specified by the NameSpace
        * specification.
        *
        * The parser's default state is: false.
        *
        * This flag is ignored by the underlying scanner if the installed
        * validator indicates that namespace constraints should be
        * enforced.
        *
        * @param newState The value specifying whether NameSpace rules should
        *                 be enforced or not.
        *
        * @see #getDoNamespaces
        */
      void setDoNamespaces(const bool newState);
  
      /** Set the 'exit on first error' flag
        *
        * This method allows users to set the parser's behaviour when it
        * encounters the first fatal error. If set to true, the parser
        * will exit at the first fatal error. If false, then it will
        * report the error and continue processing.
        *
        * The default value is 'true' and the parser exits on the
        * first fatal error.
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters the first
        *                 fatal error.
        *
        * @see #getExitOnFirstFatalError
        */
      void setExitOnFirstFatalError(const bool newState);
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters a validtion constraint error. If set to true, and the
        * the parser is set to exit when it encounter the first fatal error,
        * the parser will exit at the first encounter. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'false'.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters a validation
        *                 constraint error.
        *
        * @see #getValidationConstraintFatal
        */
      void setValidationConstraintFatal(const bool newState);
  
      /** Set the 'expand entity references' flag
        *
        * DEPRECATED.  USE setCreateEntityReferenceNodes instead.
        * This method allows the user to specify whether the parser should
        * expand all entity reference nodes. When the 'do expansion' flag is
        * true, the DOM tree does not have any entity reference nodes. It is
        * replaced by the sub-tree representing the replacement text of the
        * entity. When the 'do expansion' flag is false, the DOM tree
        * contains an extra entity reference node, whose children is the
        * sub tree of the replacement text.
        *
        * @param expand The new state of the expand entity reference
        *               flag.
        */
      void setExpandEntityReferences(const bool expand);
  
       /** Set the 'include entity references' flag
        *
        * This method allows the user to specify whether the parser should
        * create entity reference nodes in the DOM tree being produced.
        * When the 'create' flag is
        * true, the DOM tree constains entity reference nodes.
        * When the 'create' flag is false, no entity reference nodes
        * are included in the DOM tree.
        * <p>The replacement text
        * of the entity is included in either case, either as a
        * child of the Entity Reference node or in place at the location
        * of the reference.
        *
        * @param create The new state of the create entity reference nodes
        *               flag.
        */
      void setCreateEntityReferenceNodes(const bool create);
  
     /** Set the 'include ignorable whitespace' flag
        *
        * This method allows the user to specify whether a validating parser
        * should include ignorable whitespaces as text nodes.  It has no effect
        * on non-validating parsers which always include non-markup text.
        * <p>When set to true (also the default), ignorable whitespaces will be
        * added to the DOM tree as text nodes.  The method
        * IDOM_Text::isIgnorableWhitespace() will return true for those text
        * nodes only.
        * <p>When set to false, all ignorable whitespace will be discarded and
        * no text node is added to the DOM tree.  Note: applications intended
        * to process the "xml:space" attribute should not set this flag to false.
        * And this flag also overrides any schema datateye whitespace facets,
        * that is, all ignorable whitespace will be discarded even though
        * 'preserve' is set in schema datatype whitespace facets.
        *
        * @param include The new state of the include ignorable whitespace
        *                flag.
        *
        * @see #getIncludeIgnorableWhitespace
        */
      void setIncludeIgnorableWhitespace(const bool include);
  
      /**
        * This method allows users to set the validation scheme to be used
        * by this parser. The value is one of the ValSchemes enumerated values
        * defined by this class:
        *
        * <br>  Val_Never  - turn off validation
        * <br>  Val_Always - turn on validation
        * <br>  Val_Auto   - turn on validation if any internal/external
        *                  DTD subset have been seen
        *
        * <p>The parser's default state is: Val_Auto.</p>
        *
        * @param newScheme The new validation scheme to use.
        *
        * @see #getValidationScheme
        */
      void setValidationScheme(const ValSchemes newScheme);
  
      /** Set the 'do schema' flag
        *
        * This method allows users to enable or disable the parser's
        * schema processing. When set to false, parser will not process
        * any schema found.
        *
        * The parser's default state is: false.
        *
        * @param newState The value specifying whether schema support should
        *                 be enforced or not.
        *
        * @see #getDoSchema
        */
      void setDoSchema(const bool newState);
  
      /**
        * This method allows the user to turn full Schema constraint checking on/off.
        * Only takes effect if Schema validation is enabled.
        * If turned off, partial constraint checking is done.
        *
        * Full schema constraint checking includes those checking that may
        * be time-consuming or memory intensive. Currently, particle unique
        * attribution constraint checking and particle derivation resriction checking
        * are controlled by this option.
        *
        * The parser's default state is: false.
        *
        * @param schemaFullChecking True to turn on full schema constraint checking.
        *
        * @see #getValidationSchemaFullChecking
        */
      void setValidationSchemaFullChecking(const bool schemaFullChecking);
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Parsing methods
      // -----------------------------------------------------------------------
  
      /** @name Parsing methods */
      //@{
  
      /** Parse via an input source object
        *
        * This method invokes the parsing process on the XML file specified
        * by the InputSource parameter. This API is borrowed from the
        * SAX Parser interface.
        *
        * @param source A const reference to the InputSource object which
        *               points to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception IDOM_DOMException A DOM exception as per DOM spec.
        * @see InputSource#InputSource
        * @see #setEntityResolver
        * @see #setErrorHandler
        */
      void parse(const InputSource& source, const bool reuseGrammar = false);
  
      /** Parse via a file path or URL
        *
        * This method invokes the parsing process on the XML file specified by
        * the Unicode string parameter 'systemId'. This method is borrowed
        * from the SAX Parser interface.
        *
        * @param systemId A const XMLCh pointer to the Unicode string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception DOM_DOMException A DOM exception as per DOM spec.
        * @see #parse(InputSource,...)
        */
      void parse(const XMLCh* const systemId, const bool reuseGrammar = false);
  
      /** Parse via a file path or URL (in the local code page)
        *
        * This method invokes the parsing process on the XML file specified by
        * the native char* string parameter 'systemId'.
        *
        * @param systemId A const char pointer to a native string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @exception SAXException Any SAX exception, possibly
        *            wrapping another exception.
        * @exception XMLException An exception from the parser or client
        *            handler code.
        * @exception DOM_DOMException A DOM exception as per DOM spec.
        * @see #parse(InputSource,...)
        */
      void parse(const char* const systemId, const bool reuseGrammar = false);
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a Unicode string represting the path
        *                 to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing process.
        *                     If true, there cannot be any internal subset.
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a regular native string represting
        *                 the path to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param source   A const reference to the InputSource object which
        *                 points to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing process.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        */
      bool parseFirst
      (
          const   InputSource&    source
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Continue a progressive parse operation
        *
        * This method is used to continue with progressive parsing of
        * XML files started by a call to 'parseFirst' method.
        *
        * It parses the XML file and stops as soon as it comes across
        * a XML token (as defined in the XML specification).
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @return 'true', if successful in parsing the next XML token.
        *         It indicates the user can go ahead with parsing the rest
        *         of the file. It returns 'false' to indicate that the parser
        *         could not find next token as per the XML specification
        *         production rule.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseNext(XMLPScanToken& token);
  
      /** Reset the parser after a progressive parse
        *
        * If a progressive parse loop exits before the end of the document
        * is reached, the parser has no way of knowing this. So it will leave
        * open any files or sockets or memory buffers that were in use at
        * the time that the parse loop exited.
        *
        * The next parse operation will cause these open files and such to
        * be closed, but the next parse operation might occur at some unknown
        * future point. To avoid this problem, you should reset the parser if
        * you exit the loop early.
        *
        * If you exited because of an error, then this cleanup will be done
        * for you. Its only when you exit the file prematurely of your own
        * accord, because you've found what you wanted in the file most
        * likely.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      void parseReset(XMLPScanToken& token);
  
      //@}
  
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLErrorReporter interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLErrorReporter interface. */
      //@{
  
      /** Handle errors reported from the parser
        *
        * This method is used to report back errors found while parsing the
        * XML file. This method is also borrowed from the SAX specification.
        * It calls the corresponding user installed Error Handler method:
        * 'fatal', 'error', 'warning' depending on the severity of the error.
        * This classification is defined by the XML specification.
        *
        * @param errCode An integer code for the error.
        * @param msgdomain A const pointer to an Unicode string representing
        *                  the message domain to use.
        * @param errType An enumeration classifying the severity of the error.
        * @param errorText A const pointer to an Unicode string representing
        *                  the text of the error message.
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id of the XML file where this error
        *                  was discovered.
        * @param publicId  A const pointer to an Unicode string representing
        *                  the public id of the XML file where this error
        *                  was discovered.
        * @param lineNum   The line number where the error occurred.
        * @param colNum    The column number where the error occurred.
        * @see ErrorHandler
        */
      virtual void error
      (
          const   unsigned int                errCode
          , const XMLCh* const                msgDomain
          , const XMLErrorReporter::ErrTypes  errType
          , const XMLCh* const                errorText
          , const XMLCh* const                systemId
          , const XMLCh* const                publicId
          , const unsigned int                lineNum
          , const unsigned int                colNum
      );
  
      /** Reset any error data before a new parse
       *
        * This method allows the user installed Error Handler callback to
        * 'reset' itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this IDOM
        * implementation.</font></b>
        */
      virtual void resetErrors();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLEntityHandler interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLEntityHandler interface. */
      //@{
  
      /** Handle an end of input source event
        *
        * This method is used to indicate the end of parsing of an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this IDOM
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the XML file being parsed.
        * @see InputSource
        */
      virtual void endInputSource(const InputSource& inputSource);
  
      /** Expand a system id
        *
        * This method allows an installed XMLEntityHandler to further
        * process any system id's of enternal entities encountered in
        * the XML file being parsed, such as redirection etc.
        *
        * <b><font color="#FF0000">This method always returns 'false'
        * for this IDOM implementation.</font></b>
        *
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id scanned by the parser.
        * @param toFill    A pointer to a buffer in which the application
        *                  processed system id is stored.
        * @return 'true', if any processing is done, 'false' otherwise.
        */
      virtual bool expandSystemId
      (
          const   XMLCh* const    systemId
          ,       XMLBuffer&      toFill
      );
  
      /** Reset any entity handler information
        *
        * This method allows the installed XMLEntityHandler to reset
        * itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this IDOM
        * implementation.</font></b>
        */
      virtual void resetEntities();
  
      /** Resolve a public/system id
        *
        * This method allows a user installed entity handler to further
        * process any pointers to external entities. The applications can
        * implement 'redirection' via this callback. This method is also
        * borrowed from the SAX specification.
        *
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the entity just parsed.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the entity just parsed.
        * @return The value returned by the user installed resolveEntity
        *         method or NULL otherwise to indicate no processing was done.
        * @see EntityResolver
        */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /** Handle a 'start input source' event
        *
        * This method is used to indicate the start of parsing an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this IDOM parse
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the external entity
        *                    being parsed.
        */
      virtual void startInputSource(const InputSource& inputSource);
  
      //@}
  
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLDocumentHandler interface.
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLDocumentHandler interface. */
      //@{
  
      /** Handle document character events
        *
        * This method is used to report all the characters scanned by the
        * parser. This IDOM implementation stores this data in the appropriate
        * IDOM node, creating one if necessary.
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                character data.
        * @param length  The length of the Unicode string returned in 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        */
      virtual void docCharacters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /** Handle a document comment event
        *
        * This method is used to report any comments scanned by the parser.
        * A new comment node is created which stores this data.
        *
        * @param comment A const pointer to a null terminated Unicode
        *                string representing the comment text.
        */
      virtual void docComment
      (
          const   XMLCh* const    comment
      );
  
      /** Handle a document PI event
        *
        * This method is used to report any PI scanned by the parser. A new
        * PI node is created and appended as a child of the current node in
        * the tree.
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        */
      virtual void docPI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /** Handle the end of document event
        *
        * This method is used to indicate the end of the current document.
        */
      virtual void endDocument();
  
      /** Handle and end of element event
        *
        * This method is used to indicate the end tag of an element. The
        * IDOMParse pops the current element off the top of the element
        * stack, and make it the new current element.
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        */
      virtual void endElement
      (
          const   XMLElementDecl& elemDecl
          , const unsigned int    urlId
          , const bool            isRoot
      );
  
      /** Handle and end of entity reference event
        *
        * This method is used to indicate that an end of an entity reference
        * was just scanned.
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void endEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /** Handle an ignorable whitespace vent
        *
        * This method is used to report all the whitespace characters, which
        * are determined to be 'ignorable'. This distinction between characters
        * is only made, if validation is enabled.
        *
        * Any whitespace before content is ignored. If the current node is
        * already of type IDOM_Node::TEXT_NODE, then these whitespaces are
        * appended, otherwise a new Text node is created which stores this
        * data. Essentially all contiguous ignorable characters are collected
        * in one node.
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                ignorable whitespace character data.
        * @param length  The length of the Unicode string 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /** Handle a document reset event
        *
        * This method allows the user installed Document Handler to 'reset'
        * itself, freeing all the memory resources. The scanner calls this
        * method before starting a new parse event.
        */
      virtual void resetDocument();
  
      /** Handle a start document event
        *
        * This method is used to report the start of the parsing process.
        */
      virtual void startDocument();
  
      /** Handle a start element event
        *
        * This method is used to report the start of an element. It is
        * called at the end of the element, by which time all attributes
        * specified are also parsed. A new IDOM Element node is created
        * along with as many attribute nodes as required. This new element
        * is added appended as a child of the current node in the tree, and
        * then replaces it as the current node (if the isEmpty flag is false.)
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param elemPrefix A const pointer to a Unicode string containing
        *                 the namespace prefix for this element. Applicable
        *                 only when namespace processing is enabled.
        * @param attrList A const reference to the object containing the
        *                 list of attributes just scanned for this element.
        * @param attrCount A count of number of attributes in the list
        *                 specified by the parameter 'attrList'.
        * @param isEmpty  A flag indicating whether this is an empty element
        *                 or not. If empty, then no endElement() call will
        *                 be made.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#startElement
        */
      virtual void startElement
      (
          const   XMLElementDecl&         elemDecl
          , const unsigned int            urlId
          , const XMLCh* const            elemPrefix
          , const RefVectorOf<XMLAttr>&   attrList
          , const unsigned int            attrCount
          , const bool                    isEmpty
          , const bool                    isRoot
      );
  
      /** Handle a start entity reference event
        *
        * This method is used to indicate the start of an entity reference.
        * If the expand entity reference flag is true, then a new
        * IDOM Entity reference node is created.
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void startEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /** Handle an XMLDecl event
        *
        * This method is used to report the XML decl scanned by the parser.
        * Refer to the XML specification to see the meaning of parameters.
        *
        * <b><font color="#FF0000">This method is a no-op for this IDOM
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   version string value.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding string value.
        * @param standaloneStr A const pointer to a Unicode string
        *                      representing the standalone string value.
        * @param actualEncodingStr A const pointer to a Unicode string
        *                          representing the actual encoding string
        *                          value.
        */
      virtual void XMLDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
          , const XMLCh* const    standaloneStr
          , const XMLCh* const    actualEncStr
      );
      //@}
  
  
      /** @name Deprecated Methods */
      //@{
      /**
        * This method returns the state of the parser's validation
        * handling flag which controls whether validation checks
        * are enforced or not.
        *
        * @return true, if the parser is currently configured to
        *         do validation, false otherwise.
        *
        * @see #setDoValidation
        */
      bool getDoValidation() const;
  
      /**
        * This method allows users to enable or disable the parser's validation
        * checks.
        *
        * <p>By default, the parser does not to any validation. The default
        * value is false.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 do validity checks or not against the DTD in the
        *                 input XML document.
        *
        * @see #getDoValidation
        */
      void setDoValidation(const bool newState);
  
      /**
        * Deprecated doctypehandler interfaces
        */
  	virtual void attDef
      (
          const   DTDElementDecl&     elemDecl
          , const DTDAttDef&          attDef
          , const bool                ignoring
      );
  
      virtual void doctypeComment
      (
          const   XMLCh* const    comment
      );
  
      virtual void doctypeDecl
      (
          const   DTDElementDecl& elemDecl
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const bool            hasIntSubset
      );
  
      virtual void doctypePI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      virtual void doctypeWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
      virtual void elementDecl
      (
          const   DTDElementDecl& decl
          , const bool            isIgnored
      );
  
      virtual void endAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      virtual void endIntSubset();
  
      virtual void endExtSubset();
  
      virtual void entityDecl
      (
          const   DTDEntityDecl&  entityDecl
          , const bool            isPEDecl
          , const bool            isIgnored
      );
  
      virtual void resetDocType();
  
      virtual void notationDecl
      (
          const   XMLNotationDecl&    notDecl
          , const bool                isIgnored
      );
  
      virtual void startAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      virtual void startIntSubset();
  
      virtual void startExtSubset();
  
      virtual void TextDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
      );
  
  
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected getter methods
      // -----------------------------------------------------------------------
  
      /** @name Protected getter methods */
      //@{
      /** Get the current IDOM node
        *
        * This provides derived classes with access to the current node, i.e.
        * the node to which new nodes are being added.
        */
      IDOM_Node* getCurrentNode();
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Protected setter methods
      // -----------------------------------------------------------------------
  
      /** @name Protected setter methods */
      //@{
  
      /** Set the current IDOM node
        *
        * This method sets the current node maintained inside the parser to
        * the one specified.
        *
        * @param toSet The IDOM node which will be the current node.
        */
      void setCurrentNode(IDOM_Node* toSet);
  
      /** Set the document node
        *
        * This method sets the IDOM Document node to the one specified.
        *
        * @param toSet The new IDOM Document node for this XML document.
        */
      void setDocument(IDOM_Document* toSet);
      //@}
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fCurrentNode
      //  fCurrentParent
      //      Used to track the current node during nested element events. Since
      //      the tree must be built from a set of disjoint callbacks, we need
      //      these to keep up with where we currently are.
      //
      //  fDocument
      //      The root document object, filled with the document contents.
      //
      //  fEntityResolver
      //      The installed SAX entity resolver, if any. Null if none.
      //
      //  fErrorHandler
      //      The installed SAX error handler, if any. Null if none.
      //
      //  fCreateEntityReferenceNode
      //      Indicates whether entity reference nodes should be created.
      //
      //  fIncludeIgnorableWhitespace
      //      Indicates whether ignorable whiltespace should be added to
      //      the IDOM tree for validating parsers.
      //
      //  fNodeStack
      //      Used to track previous parent nodes during nested element events.
      //
      //  fParseInProgress
      //      Used to prevent multiple entrance to the parser while its doing
      //      a parse.
      //
      //  fScanner
      //      The scanner used for this parser. This is created during the
      //      constructor.
      //
      //  fWithinElement
      //      A flag to indicate that the parser is within at least one level
      //      of element processing.
      //
      //  fDocumentType
      //      Used to store and update the documentType variable information
      //      in fDocument
      //
      //  fDocumentVector
      //      Store all the previous fDocument(s) (thus not the current fDocument)
      //      created in this parser.  It is destroyed when the parser is destructed.
      // -----------------------------------------------------------------------
      IDOM_Node*               fCurrentParent;
      IDOM_Node*               fCurrentNode;
      IDDocumentImpl*          fDocument;
      EntityResolver*          fEntityResolver;
      ErrorHandler*            fErrorHandler;
      bool                     fCreateEntityReferenceNodes;
      bool                     fIncludeIgnorableWhitespace;
      ValueStackOf<IDOM_Node*>* fNodeStack;
      bool                     fParseInProgress;
      XMLScanner*              fScanner;
      bool                     fWithinElement;
      IDDocumentTypeImpl*      fDocumentType;
      RefVectorOf<IDDocumentImpl>* fDocumentVector;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  IDOMParser: Handlers for the XMLEntityHandler interface
  // ---------------------------------------------------------------------------
  inline void IDOMParser::endInputSource(const InputSource&)
  {
      // The IDOM entity resolver doesn't handle this
  }
  
  inline bool IDOMParser::expandSystemId(const XMLCh* const, XMLBuffer&)
  {
      // The IDOM entity resolver doesn't handle this
      return false;
  }
  
  inline void IDOMParser::resetEntities()
  {
      // Nothing to do on this one
  }
  
  inline void IDOMParser::startInputSource(const InputSource&)
  {
      // The IDOM entity resolver doesn't handle this
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDOMParser: Getter methods
  // ---------------------------------------------------------------------------
  inline ErrorHandler* IDOMParser::getErrorHandler()
  {
      return fErrorHandler;
  }
  
  inline const ErrorHandler* IDOMParser::getErrorHandler() const
  {
      return fErrorHandler;
  }
  
  inline EntityResolver* IDOMParser::getEntityResolver()
  {
      return fEntityResolver;
  }
  
  inline const EntityResolver* IDOMParser::getEntityResolver() const
  {
      return fEntityResolver;
  }
  
  inline bool IDOMParser::getExpandEntityReferences() const
  {
      return fCreateEntityReferenceNodes;
  }
  inline bool IDOMParser::getCreateEntityReferenceNodes() const
  {
      return fCreateEntityReferenceNodes;
  }
  
  inline bool IDOMParser::getIncludeIgnorableWhitespace() const
  {
      return fIncludeIgnorableWhitespace;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDOMParser: Setter methods
  // ---------------------------------------------------------------------------
  inline void IDOMParser::setExpandEntityReferences(const bool expand)
  {
      fCreateEntityReferenceNodes = expand;
  }
  
  inline void IDOMParser::setCreateEntityReferenceNodes(const bool create)
  {
      fCreateEntityReferenceNodes = create;
  }
  
  inline void IDOMParser::setIncludeIgnorableWhitespace(const bool include)
  {
      fIncludeIgnorableWhitespace = include;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDOMParser: Protected getter methods
  // ---------------------------------------------------------------------------
  inline IDOM_Node* IDOMParser::getCurrentNode()
  {
      return fCurrentNode;
  }
  
  
  // ---------------------------------------------------------------------------
  //  IDOMParser: Protected setter methods
  // ---------------------------------------------------------------------------
  inline void IDOMParser::setCurrentNode(IDOM_Node* toSet)
  {
      fCurrentNode = toSet;
  }
  
  inline void IDOMParser::setDocument(IDOM_Document* toSet)
  {
      fDocument = (IDDocumentImpl *)toSet;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/parsers/SAX2XMLReaderImpl.hpp
  
  Index: SAX2XMLReaderImpl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SAX2XMLReaderImpl.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.14  2001/09/12 13:03:43  tng
   * [Bug 3155] SAX2 does not offer progressive parse.
   *
   * Revision 1.13  2001/08/01 19:11:02  tng
   * Add full schema constraint checking flag to the samples and the parser.
   *
   * Revision 1.12  2001/06/27 17:39:52  knoaman
   * Fix for bug #2353.
   *
   * Revision 1.11  2001/06/19 16:45:08  tng
   * Add installAdvDocHandler to SAX2XMLReader as the code is there already.
   *
   * Revision 1.10  2001/06/04 21:01:49  jberry
   * getErrorCount is virtual in this class reflecting derivation from SAX2XMLReader.
   *
   * Revision 1.9  2001/06/03 19:26:19  jberry
   * Add support for querying error count following parse; enables simple parse without requiring error handler.
   *
   * Revision 1.8  2001/05/11 13:26:21  tng
   * Copyright update.
   *
   * Revision 1.7  2001/03/30 16:46:57  tng
   * Schema: Use setDoSchema instead of setSchemaValidation which makes more sense.
   *
   * Revision 1.6  2001/03/21 21:56:08  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.5  2001/02/15 15:56:29  tng
   * Schema: Add setSchemaValidation and getSchemaValidation for DOMParser and SAXParser.
   * Add feature "http://apache.org/xml/features/validation/schema" for SAX2XMLReader.
   * New data field  fSchemaValidation in XMLScanner as the flag.
   *
   * Revision 1.4  2000/12/22 15:16:53  tng
   * SAX2-ext's LexicalHandler support added by David Bertoni.
   *
   * Revision 1.3  2000/08/09 22:16:13  jpolast
   * many conformance & stability changes:
   *   - ContentHandler::resetDocument() removed
   *   - attrs param of ContentHandler::startDocument() made const
   *   - SAXExceptions thrown now have msgs
   *   - removed duplicate function signatures that had 'const'
   *       [ eg: getContentHander() ]
   *   - changed getFeature and getProperty to apply to const objs
   *   - setProperty now takes a void* instead of const void*
   *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore
   *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented
   *   - Features & Properties now read-only during parse
   *
   * Revision 1.2  2000/08/02 20:46:32  aruna1
   * sax2 changes
   *
   * Revision 1.1  2000/08/02 18:04:41  jpolast
   * initial checkin of sax2 implemenation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  #if !defined(SAX2XMLReaderImpl_HPP)
  #define SAX2XMLReaderImpl_HPP
  
  #include <parsers/SAXParser.hpp>
  #include <sax/Parser.hpp>
  #include <framework/XMLBuffer.hpp>
  #include <internal/VecAttributesImpl.hpp>
  #include <sax2/SAX2XMLReader.hpp>
  #include <util/RefStackOf.hpp>
  #include <util/ValueStackOf.hpp>
  #include <framework/XMLBufferMgr.hpp>
  
  class ContentHandler;
  class LexicalHandler;
  
  /**
    * This class implements the SAX2 'XMLReader' interface and should be
    * used by applications wishing to parse the XML files using SAX2.
    * It allows the client program to install SAX2 handlers for event
    * callbacks.
    *
    * <p>It can be used to instantiate a validating or non-validating
    * parser, by setting a member flag.</p>
    *
    * we basically re-use the existing SAX1 parser code, but provide a
    * new implementation of XMLContentHandler that raises the new
    * SAX2 style events
    *
    */
  
  class PARSERS_EXPORT SAX2XMLReaderImpl :
  	public SAX2XMLReader
  //    , public Parser
      , public XMLDocumentHandler
      , public XMLErrorReporter
      , public XMLEntityHandler
      , public DocTypeHandler
  {
  public :
  
  	static const XMLCh SAX_CORE_VALIDATION[];
  	static const XMLCh SAX_CORE_NAMESPACES[];
  	static const XMLCh SAX_CORE_NAMESPACES_PREFIXES[];
  	static const XMLCh SAX_XERCES_DYNAMIC[];
  	static const XMLCh SAX_XERCES_REUSEVALIDATOR[];
  	static const XMLCh SAX_XERCES_REUSEGRAMMAR[];
  	static const XMLCh SAX_XERCES_SCHEMA[];
  	static const XMLCh SAX_XERCES_SCHEMA_FULL_CHECKING[];
  	
  	SAX2XMLReaderImpl() ;
  	~SAX2XMLReaderImpl() ;
  
  	// -----------------------------------------------------------------------
      //  Implementation of the XMLDocumentHandler interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLDocumentHandler Interface. */
      //@{
      /**
        * This method is used to report all the characters scanned
        * by the parser. The driver will invoke the 'characters'
        * method of the user installed SAX Document Handler.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'docCharacters' method will also be invoked.</p>
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                character data.
        * @param length  The length of the Unicode string returned in 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        * @see DocumentHandler#characters
        */
      virtual void docCharacters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /**
        * This method is used to report any comments scanned by the parser.
        * This method is a no-op unless, unless an advanced callback handler
        * is installed, in which case the corresponding 'docComment' method
        * is invoked.
        *
        * @param comment A const pointer to a null terminated Unicode
        *                string representing the comment text.
        */
      virtual void docComment
      (
          const   XMLCh* const    comment
      );
  
      /**
        * This method is used to report any PI scanned by the parser.
        *
        * <p>Any PI's occurring before any 'content' are not reported
        * to any SAX handler as per the specification. However, all
        * PI's within content are reported via the SAX Document Handler's
        * 'processingInstruction' method.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'docPI' method will be invoked.</p>
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        *
        * @see DocumentHandler#processingInstruction
        */
      virtual void docPI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
        * This method is used to indicate the end of root element
        * was just scanned by the parser. Corresponding 'endDocument'
        * method of the user installed SAX Document Handler will also
        * be invoked.
        *
        * <p>In addition, if any advanced callback handlers are installed,
        * the corresponding 'endDocument' method is invoked.</p>
        *
        * @see DocumentHandler#endDocument
        */
      virtual void endDocument();
  
      /**
        * This method is used to indicate the end tag of an element.
        * The driver will invoke the corresponding 'endElement' method of
        * the SAX Document Handler interface.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endElement' method is also invoked.</p>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#endElement
        */
      virtual void endElement
      (
          const   XMLElementDecl& elemDecl
          , const unsigned int    urlId
          , const bool            isRoot
      );
  
      /**
        * This method is used to indicate that an end of an entity reference
        * was just scanned.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endEnityReference' method is invoked.</p>
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void endEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /**
        * This method is used to report all the whitespace characters,
        * which are determined to be 'ignorable'. This distinction
        * between characters is only made, if validation is enabled.
        * Corresponding 'ignorableWhitespace' method of the user installed
        * SAX Document Handler interface is called.
        *
        * <p>Any whitespace before content is not reported to the SAX
        * Document Handler method, as per the SAX specification.
        * However, if any advanced callback handlers are installed, the
        * corresponding 'ignorableWhitespace' method is invoked.</p>
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                ignorable whitespace character data.
        * @param length  The length of the Unicode string 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        * @see DocumentHandler#ignorableWhitespace
        */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /**
        * This method allows the user installed Document Handler and
        * any advanced callback handlers to 'reset' themselves.
        */
      virtual void resetDocument();
  
      /**
        * This method is used to report the start of the parsing process.
        * The corresponding user installed SAX Document Handler's method
        * 'startDocument' is invoked.
        *
        * <p>If any advanced callback handlers are installed, then the
        * corresponding 'startDocument' method is also called.</p>
        *
        * @see DocumentHandler#startDocument
        */
      virtual void startDocument();
  
      /**
        * This method is used to report the start of an element. It is
        * called at the end of the element, by which time all attributes
        * specified are also parsed. The corresponding user installed
        * SAX Document Handler's method 'startElement' is invoked.
        *
        * <p>If any advanced callback handlers are installed, then the
        * corresponding 'startElement' method is also called.</p>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param elemPrefix A const pointer to a Unicode string containing
        *                   the namespace prefix for this element. Applicable
        *                   only when namespace processing is enabled.
        * @param attrList  A const reference to the object containing the
        *                  list of attributes just scanned for this element.
        * @param attrCount A count of number of attributes in the list
        *                  specified by the parameter 'attrList'.
        * @param isEmpty  A flag indicating whether this is an empty element
        *                 or not.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#startElement
        */
      virtual void startElement
      (
          const   XMLElementDecl&         elemDecl
          , const unsigned int            urlId
          , const XMLCh* const            elemPrefix
          , const RefVectorOf<XMLAttr>&   attrList
          , const unsigned int            attrCount
          , const bool                    isEmpty
          , const bool                    isRoot
      );
  
      /**
        * This method is used to indicate the start of an entity reference.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endEnityReference' method is invoked.</p>
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void startEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /**
        * This method is used to report the XML decl scanned by the parser.
        * Refer to the XML specification to see the meaning of parameters.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   version string value.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding string value.
        * @param standaloneStr A const pointer to a Unicode string
        *                      representing the standalone string value.
        * @param actualEncodingStr A const pointer to a Unicode string
        *                          representing the actual encoding string
        *                          value.
        */
      virtual void XMLDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
          , const XMLCh* const    standaloneStr
          , const XMLCh* const    actualEncodingStr
      );
      //@}
  
  	// -----------------------------------------------------------------------
      //  Implementation of the XMLReader interface
      // -----------------------------------------------------------------------
  
      /** @name Getter methods */
      //@{
  
      /** Get error count from the last parse operation.
        *
        * This method returns the error count from the last parse
        * operation. Note that this count is actually stored in the
        * scanner, so this method simply returns what the
        * scanner reports.
        *
        * @return number of errors encountered during the latest
        *			parse operation.
        */
      virtual int getErrorCount() const;
  
      /**
        * This method returns the installed content handler.
        *
        * @return A pointer to the installed content handler object.
        */
      virtual ContentHandler* getContentHandler() const;
  
      /**
        * This method returns the installed DTD handler.
        *
        * @return A pointer to the installed DTD handler object.
        */
      virtual DTDHandler* getDTDHandler() const ;
  
      /**
        * This method returns the installed entity resolver.
        *
        * @return A pointer to the installed entity resolver object.
        */
      virtual EntityResolver* getEntityResolver() const  ;
  
      /**
        * This method returns the installed error handler.
        *
        * @return A pointer to the installed error handler object.
        */
      virtual ErrorHandler* getErrorHandler() const ;
  
      /**
        * This method returns the installed lexical handler.
        *
        * @return A pointer to the installed lexical handler object.
        */
      virtual LexicalHandler* getLexicalHandler() const ;
  
      /**
        * This method returns the state of the parser's
        * exit-on-First-Fatal-Error flag.
        *
        * @return true, if the parser is currently configured to
        *         exit on the first fatal error, false otherwise.
        *
        * @see #setExitOnFirstFatalError
        */
      virtual bool getExitOnFirstFatalError() const;
  
      /**
        * This method returns the state of the parser's
        * validation-constraint-fatal flag.
        *
        * @return true, if the parser is currently configured to
        *         set validation constraint errors as fatal, false
        *         otherwise.
        *
        * @see #setValidationContraintFatal
        */
      virtual bool getValidationConstraintFatal() const;
  
      /** @name Implementation of SAX 2.0 interface's. */
      //@{
      /**
        * This method invokes the parsing process on the XML file specified
        * by the InputSource parameter.
        *
        * @param source A const reference to the InputSource object which
        *               points to the XML file to be parsed.
        */
      virtual void parse(const InputSource& source);
  
      /**
        * This method invokes the parsing process on the XML file specified by
        * the Unicode string parameter 'systemId'.
        *
        * @param systemId A const XMLCh pointer to the Unicode string which
        *                 contains the path to the XML file to be parsed.
        */
      virtual void parse(const XMLCh* const systemId);
  
      /**
        * This method invokes the parsing process on the XML file specified by
        * the native char* string parameter 'systemId'.
        *
        * @param systemId A const char pointer to a native string which
        *                 contains the path to the XML file to be parsed.
        */
      virtual void parse(const char* const systemId);
  
      /**
        * This method installs the user specified SAX Document Handler
        * callback function on parser.
        *
        * @param handler A pointer to the document handler to be called
        *                when the parser comes across 'document' events
        *                as per the SAX specification.
        */
      virtual void setContentHandler(ContentHandler* const handler);
  
    /**
      * Allow an application to register a DTD event handler.
      *
      * If the application does not register a DTD handler, all DTD
      * events reported by the SAX parser will be silently ignored (this
      * is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the middle
      * of a parse, and the SAX parser must begin using the new handler
      * immediately.
      *
      * @param handler The DTD handler.
      * @see DTDHandler#DTDHandler
      * @see HandlerBase#HandlerBase
      */
      virtual void setDTDHandler(DTDHandler* const handler) ;
  
    /**
      * Allow an application to register a custom entity resolver.
      *
      * If the application does not register an entity resolver, the
      * SAX parser will resolve system identifiers and open connections
      * to entities itself (this is the default behaviour implemented in
      * DefaultHandler).
      *
      * Applications may register a new or different entity resolver
      * in the middle of a parse, and the SAX parser must begin using
      * the new resolver immediately.
      *
      * @param resolver The object for resolving entities.
      * @see EntityResolver#EntityResolver
      * @see DefaultHandler#DefaultHandler
      */
      virtual void setEntityResolver(EntityResolver* const resolver) ;
  
    /**
      * Allow an application to register an error event handler.
      *
      * If the application does not register an error event handler,
      * all error events reported by the SAX parser will be silently
      * ignored, except for fatalError, which will throw a SAXException
      * (this is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The error handler.
      * @see ErrorHandler#ErrorHandler
      * @see SAXException#SAXException
      * @see HandlerBase#HandlerBase
      */
      virtual void setErrorHandler(ErrorHandler* const handler) ;
  
  	/**
      * Allow an application to register a lexical event handler.
      *
      * If the application does not register a lexical handler,
      * all events reported by the SAX parser will be silently
      * ignored. (this is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The error handler.
      * @see LexicalHandler#LexicalHandler
      * @see SAXException#SAXException
      * @see HandlerBase#HandlerBase
      */
      virtual void setLexicalHandler(LexicalHandler* const handler) ;
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters the first fatal error. If set to true, the parser
        * will exit at the first fatal error. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'true' and the parser exits on the
        * first fatal error.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters the first
        *                 fatal error.
        *
        * @see #getExitOnFirstFatalError
        */
      virtual void setExitOnFirstFatalError(const bool newState);
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters a validtion constraint error. If set to true, and the
        * the parser is set to exit when it encounter the first fatal error,
        * the parser will exit at the first encounter. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'false'.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters a validation
        *                 constraint error.
        *
        * @see #getValidationConstraintFatal
        */
      virtual void setValidationConstraintFatal(const bool newState);
  
    /**
      * Set the state of any feature in a SAX2 XMLReader.
      * Supported features in SAX2 for xerces-c are:
      *
      * <br>http://xml.org/sax/features/validation (default: true)
      * <br>http://xml.org/sax/features/namespaces (default: true)
      * <br>http://xml.org/sax/features/namespace-prefixes (default: true)
      * <br>http://apache.org/xml/features/validation/dynamic (default: false)
      * <br>http://apache.org/xml/features/validation/reuse-grammar (default: false)
      * <br>http://apache.org/xml/features/validation/schema (default: true)
      * <br>http://apache.org/xml/features/validation/schema-full-checking (default: false)
      *
      * @param name The unique identifier (URI) of the feature.
      * @param value The requested state of the feature (true or false).
      * @exception SAXNotRecognizedException If the requested feature is not known.
      * @exception SAXNotSupportedException Property modification is not supported during parse
      *
      */
  	virtual void setFeature(const XMLCh* const name, const bool value);
  
  	/**
       * Query the current state of any feature in a SAX2 XMLReader.
  	  *
  	  * @param name The unique identifier (URI) of the feature being set.
  	  * @return The current state of the feature.
       * @exception SAXNotRecognizedException If the requested feature is not known.
  	  */
  	virtual bool getFeature(const XMLCh* const name) const;
  
    /**
      * Set the value of any property in a SAX2 XMLReader.
      * Supported property in SAX2 for xerces-c are:
      *
      * <br>none
      *
      * @param name The unique identifier (URI) of the property being set.
      * @param value The requested value for the property.
      * @exception SAXNotRecognizedException If the requested property is not known.
      * @exception SAXNotSupportedException Property modification is not supported during parse
      */
  	virtual void setProperty(const XMLCh* const name, void* value);
  
  	/**
       * Query the current value of a property in a SAX2 XMLReader.
       *
       * @param name The unique identifier (URI) of the property being set.
       * @return The current value of the property.
       * @exception SAXNotRecognizedException If the requested property is not known.
       */
  	virtual void* getProperty(const XMLCh* const name) const;
  	//@}
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLErrorReporter interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLErrorReporter Interface. */
      //@{
      /**
        * This method is used to report back errors found while parsing the
        * XML file. The driver will call the corresponding user installed
        * SAX Error Handler methods: 'fatal', 'error', 'warning' depending
        * on the severity of the error. This classification is defined by
        * the XML specification.
        *
        * @param errCode An integer code for the error.
        * @param msgDomain A const pointer to an Unicode string representing
        *                  the message domain to use.
        * @param errType An enumeration classifying the severity of the error.
        * @param errorText A const pointer to an Unicode string representing
        *                  the text of the error message.
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id of the XML file where this error
        *                  was discovered.
        * @param publicId  A const pointer to an Unicode string representing
        *                  the public id of the XML file where this error
        *                  was discovered.
        * @param lineNum   The line number where the error occurred.
        * @param colNum    The column number where the error occurred.
        * @see ErrorHandler
        */
      virtual void error
      (
          const   unsigned int                errCode
          , const XMLCh* const                msgDomain
          , const XMLErrorReporter::ErrTypes  errType
          , const XMLCh* const                errorText
          , const XMLCh* const                systemId
          , const XMLCh* const                publicId
          , const unsigned int                lineNum
          , const unsigned int                colNum
      );
  
      /**
        * This method allows the user installed Error Handler
        * callback to 'reset' itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        */
      virtual void resetErrors();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLEntityHandler interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLEntityHandler Interface. */
      //@{
      /**
        * This method is used to indicate the end of parsing of an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the XML file being parsed.
        * @see InputSource
        */
      virtual void endInputSource(const InputSource& inputSource);
  
      /**
        * This method allows an installed XMLEntityHandler to further
        * process any system id's of enternal entities encountered in
        * the XML file being parsed, such as redirection etc.
        *
        * <b><font color="#FF0000">This method always returns 'false'
        * for this SAX driver implementation.</font></b>
        *
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id scanned by the parser.
        * @param toFill    A pointer to a buffer in which the application
        *                  processed system id is stored.
        * @return 'true', if any processing is done, 'false' otherwise.
        */
      virtual bool expandSystemId
      (
          const   XMLCh* const    systemId
          ,       XMLBuffer&      toFill
      );
  
      /**
        * This method allows the installed XMLEntityHandler to reset
        * itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void resetEntities();
  
      /**
        * This method allows a user installed entity handler to further
        * process any pointers to external entities. The applications
        * can implement 'redirection' via this callback. The driver
        * should call the SAX EntityHandler 'resolveEntity' method.
        *
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the entity just parsed.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the entity just parsed.
        * @return The value returned by the SAX resolveEntity method or
        *         NULL otherwise to indicate no processing was done.
        * @see EntityResolver
        */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /**
        * This method is used to indicate the start of parsing an
        * external entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the external entity
        *                    being parsed.
        */
      virtual void startInputSource(const InputSource& inputSource);
      //@}
  
      // -----------------------------------------------------------------------
      //  Implementation of the DocTypeHandler Interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the DocTypeHandler Interface */
      //@{
      /**
        * This method is used to report an attribute definition.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX
        * driver implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing information
        *                 about the element whose attribute definition was just
        *                 parsed.
        * @param attDef   A const reference to the object containing information
        *                 attribute definition.
        * @param ignore   The flag indicating whether this attribute definition
        *                 was ignored by the parser or not.
        */
      virtual void attDef
      (
          const   DTDElementDecl& elemDecl
          , const DTDAttDef&      attDef
          , const bool            ignoring
      );
  
      /**
        * This method is used to report a comment occurring within the DTD.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param comment  A const pointer to a Unicode string representing the
        *                 text of the comment just parsed.
        */
      virtual void doctypeComment
      (
          const   XMLCh* const    comment
      );
  
      /**
        * This method is used to report the DOCTYPE declaration.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing information
        *                 about the root element definition declaration of the
        *                 XML document being parsed.
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the DTD file.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the DTD file.
        * @param hasIntSubset A flag indicating if this XML file contains any
        *                     internal subset.
        */
      virtual void doctypeDecl
      (
          const   DTDElementDecl& elemDecl
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const bool            hasIntSubset
      );
  
      /**
        * This method is used to report any PI declarations
        * occurring inside the DTD definition block.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        */
      virtual void doctypePI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
        * This method is used to report any whitespaces
        * occurring inside the DTD definition block.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param chars  A const pointer to a Unicode string representing the
        *               whitespace characters.
        * @param length The length of the whitespace Unicode string.
        */
      virtual void doctypeWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
      /**
        * This method is used to report an element declarations
        * successfully scanned by the parser.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param decl   A const reference to the object containing element
        *               declaration information.
        * @param isIgnored The flag indicating whether this definition was
        *                  ignored by the parser or not.
        */
      virtual void elementDecl
      (
          const   DTDElementDecl& decl
          , const bool            isIgnored
      );
  
      /**
        * This method is used to report the end of an attribute
        * list declaration for an element.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        */
      virtual void endAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      /**
        * This method is used to report the end of the internal subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void endIntSubset();
  
      /**
        * This method is used to report the end of the external subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void endExtSubset();
  
      /**
        * This method is used to report any entity declarations.
        * For unparsed entities, this driver will invoke the
        * SAX DTDHandler::unparsedEntityDecl callback.
        *
        * @param entityDecl A const reference to the object containing
        *                   the entity declaration information.
        * @param isPEDecl  The flag indicating whether this was a
        *                  parameter entity declaration or not.
        * @param isIgnored The flag indicating whether this definition
        *                  was ignored by the parser or not.
        *
        * @see DTDHandler#unparsedEntityDecl
        */
      virtual void entityDecl
      (
          const   DTDEntityDecl&  entityDecl
          , const bool            isPEDecl
          , const bool            isIgnored
      );
  
      /**
        * This method allows the user installed DTD handler to
        * reset itself.
        */
      virtual void resetDocType();
  
      /**
        * This method is used to report any notation declarations.
        * If there is a user installed DTDHandler, then the driver will
        * invoke the SAX DTDHandler::notationDecl callback.
        *
        * @param notDecl A const reference to the object containing the notation
        *                declaration information.
        * @param isIgnored The flag indicating whether this definition was ignored
        *                  by the parser or not.
        *
        * @see DTDHandler#notationDecl
        */
      virtual void notationDecl
      (
          const   XMLNotationDecl&    notDecl
          , const bool                isIgnored
      );
  
      /**
        * This method is used to indicate the start of an element's attribute
        * list declaration.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        */
      virtual void startAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      /**
        * This method is used indicate the start of the internal subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void startIntSubset();
  
      /**
        * This method is used indicate the start of the external subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void startExtSubset();
  
      /**
        * This method is used to report the TextDecl. Refer to the XML
        * specification for the syntax of a TextDecl.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   the version number of the 'version' clause.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding name of the 'encoding' clause.
        */
      virtual void TextDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
      );
      //@}
  
      // -----------------------------------------------------------------------
      //  Validator: setters and getters
      // -----------------------------------------------------------------------
      /** @name Validator: setters and getters (Xerces-C specific) */
      //@{
      /**
  	  * This method is used to set a validator.
  	  *
  	  * <b>SAX2XMLReader assumes responsibility for the validator.  It will be
  	  * deleted when the XMLReader is destroyed.</b>
  	  *
  	  * @param valueToAdopt A pointer to the validator that the reader should use.
  	  *
  	  */
  	virtual void setValidator(XMLValidator* valueToAdopt);
  
      /**
  	  * This method is used to get the current validator.
  	  *
  	  * <b>SAX2XMLReader assumes responsibility for the validator.  It will be
  	  * deleted when the XMLReader is destroyed.</b>
  	  *
  	  * @return A pointer to the validator.  An application should not delete
  	  * the object returned.
  	  *
  	  */
  	virtual XMLValidator* getValidator() const;
      //@}
  
      // -----------------------------------------------------------------------
      //  Advanced document handler list maintenance methods
      // -----------------------------------------------------------------------
  
      /** @name Advanced document handler list maintenance methods */
      //@{
      /**
        * This method installs the specified 'advanced' document callback
        * handler, thereby allowing the user to customize the processing,
        * if they choose to do so. Any number of advanced callback handlers
        * maybe installed.
        *
        * <p>The methods in the advanced callback interface represent
        * Xerces-C extensions. There is no specification for this interface.</p>
        *
        * @param toInstall A pointer to the users advanced callback handler.
        *
        * @see #removeAdvDocHandler
        */
      virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall);
  
      /**
        * This method removes the 'advanced' document handler callback from
        * the underlying parser scanner. If no handler is installed, advanced
        * callbacks are not invoked by the scanner.
        * @param toRemove A pointer to the advanced callback handler which
        *                 should be removed.
        *
        * @see #installAdvDocHandler
        */
      virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove);
      //@}
  
      // -----------------------------------------------------------------------
      //  Progressive scan methods
      // -----------------------------------------------------------------------
  
      /** @name Progressive scan methods */
      //@{
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a Unicode string represting the path
        *                 to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could parse the
        *         prolog (which means the token will not be valid.)
        *
        * @see #parseNext
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a regular native string represting
        *                 the path to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consIstency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param source   A const reference to the InputSource object which
        *                 points to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        */
      virtual bool parseFirst
      (
          const   InputSource&    source
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Continue a progressive parse operation
        *
        * This method is used to continue with progressive parsing of
        * XML files started by a call to 'parseFirst' method.
        *
        * It parses the XML file and stops as soon as it comes across
        * a XML token (as defined in the XML specification). Relevant
        * callback handlers are invoked as required by the SAX
        * specification.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @return 'true', if successful in parsing the next XML token.
        *         It indicates the user can go ahead with parsing the rest
        *         of the file. It returns 'false' to indicate that the parser
        *         could not find next token as per the XML specification
        *         production rule.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseNext(XMLPScanToken& token);
  
      /** Reset the parser after a progressive parse
        *
        * If a progressive parse loop exits before the end of the document
        * is reached, the parser has no way of knowing this. So it will leave
        * open any files or sockets or memory buffers that were in use at
        * the time that the parse loop exited.
        *
        * The next parse operation will cause these open files and such to
        * be closed, but the next parse operation might occur at some unknown
        * future point. To avoid this problem, you should reset the parser if
        * you exit the loop early.
        *
        * If you exited because of an error, then this cleanup will be done
        * for you. Its only when you exit the file prematurely of your own
        * accord, because you've found what you wanted in the file most
        * likely.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        */
      virtual void parseReset(XMLPScanToken& token);
  
      //@}
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      SAX2XMLReaderImpl(const SAX2XMLReaderImpl&);
      void operator=(const SAX2XMLReaderImpl&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAttrList
      //      A temporary implementation of the basic SAX2 Attributes
      //      interface. We use this one over and over on each startElement
      //      event to allow SAX-like access to the element attributes.
      //
      //  fDocHandler
      //      The installed SAX content handler, if any. Null if none.
      //
      //  fnamespacePrefix
      //      Indicates whether the namespace-prefix feature is on or off.
      //
      //  fautoValidation
      //      Indicates whether automatic validation is on or off
      //
      //  fValidation
      //      Indicates whether the 'validation' core features is on or off
      //
      //  fReuseGrammar
      //      Tells the parser whether it should reuse the grammar or not.
      //      If true, there cannot be any internal subset.
      //
      //	fStringBuffers
      //		Any temporary strings we need are pulled out of this pool
      //
      //	fPrefixes
      //		A Stack of the current namespace prefixes that need calls to
      //		endPrefixMapping
      //
      //	fPrefixCounts
      //		A Stack of the number of prefixes that need endPrefixMapping
      //		calls for that element
      //
      //  fDTDHandler
      //      The installed SAX DTD handler, if any. Null if none.
      //
      //  fElemDepth
      //      This is used to track the element nesting depth, so that we can
      //      know when we are inside content. This is so we can ignore char
      //      data outside of content.
      //
      //  fEntityResolver
      //      The installed SAX entity handler, if any. Null if none.
      //
      //  fErrorHandler
      //      The installed SAX error handler, if any. Null if none.
      //
      //  fLexicalHandler
      //      The installed SAX lexical handler, if any.  Null if none.
      //
      //  fAdvDHCount
      //  fAdvDHList
      //  fAdvDHListSize
      //      This is an array of pointers to XMLDocumentHandlers, which is
      //      how we see installed advanced document handlers. There will
      //      usually not be very many at all, so a simple array is used
      //      instead of a collection, for performance. It will grow if needed,
      //      but that is unlikely.
      //
      //      The count is how many handlers are currently installed. The size
      //      is how big the array itself is (for expansion purposes.) When
      //      count == size, is time to expand.
      //
      //  fParseInProgress
      //      This flag is set once a parse starts. It is used to prevent
      //      multiple entrance or reentrance of the parser.
      //
      //  fScanner
      //      The scanner being used by this parser. It is created internally
      //      during construction.
      //
      // -----------------------------------------------------------------------
  	VecAttributesImpl		   fAttrList ;
  	ContentHandler*			   fDocHandler ;
  	RefVectorOf<XMLAttr>*      tempAttrVec ;
  
  	bool                       fnamespacePrefix;
  	bool                       fautoValidation;
  	bool                       fValidation;
  	bool                       fReuseGrammar;
  
  	XMLBufferMgr			   fStringBuffers ;
  	RefStackOf<XMLBuffer> *    fPrefixes ;
  	ValueStackOf<unsigned int> * prefixCounts ;
  
      DTDHandler*                fDTDHandler;
      unsigned int               fElemDepth;
      EntityResolver*            fEntityResolver;
      ErrorHandler*              fErrorHandler;
      LexicalHandler*            fLexicalHandler;
      unsigned int               fAdvDHCount;
      XMLDocumentHandler**       fAdvDHList;
      unsigned int               fAdvDHListSize;
      bool                       fParseInProgress;
      XMLScanner*                fScanner;
  	
  	// internal function used to set the state of validation: always, never, or auto
  	void setValidationScheme(const ValSchemes newScheme);
      void setDoNamespaces(const bool newState);
      bool getDoNamespaces() const;
      void setDoSchema(const bool newState);
      bool getDoSchema() const;
  
  };
  
  
  // ---------------------------------------------------------------------------
  //  SAX2XMLReader: Getter methods
  // ---------------------------------------------------------------------------
  inline ContentHandler* SAX2XMLReaderImpl::getContentHandler() const
  {
      return fDocHandler;
  }
  
  inline DTDHandler* SAX2XMLReaderImpl::getDTDHandler() const
  {
  	return fDTDHandler ;
  }
  
  inline EntityResolver* SAX2XMLReaderImpl::getEntityResolver() const
  {
  	return fEntityResolver;
  }
  
  inline ErrorHandler* SAX2XMLReaderImpl::getErrorHandler() const
  {
  	return fErrorHandler;
  }
  
  inline LexicalHandler* SAX2XMLReaderImpl::getLexicalHandler() const
  {
     return fLexicalHandler;
  }
  
  inline bool SAX2XMLReaderImpl::getExitOnFirstFatalError() const
  {
      return fScanner->getExitOnFirstFatal();
  }
  
  inline bool SAX2XMLReaderImpl::getValidationConstraintFatal() const
  {
      return fScanner->getValidationConstraintFatal();
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/parsers/SAXParser.hpp
  
  Index: SAXParser.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SAXParser.hpp,v $
   * Revision 1.1  2002/03/22 00:41:53  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.20  2001/08/01 19:11:02  tng
   * Add full schema constraint checking flag to the samples and the parser.
   *
   * Revision 1.19  2001/07/27 20:24:21  tng
   * put getScanner() back as they were there before, not to break existing apps.
   *
   * Revision 1.18  2001/07/16 12:52:09  tng
   * APIDocs fix: default for schema processing in DOMParser, IDOMParser, and SAXParser should be false.
   *
   * Revision 1.17  2001/06/23 14:13:16  tng
   * Remove getScanner from the Parser headers as this is not needed and Scanner is not internal class.
   *
   * Revision 1.16  2001/06/03 19:26:20  jberry
   * Add support for querying error count following parse; enables simple parse without requiring error handler.
   *
   * Revision 1.15  2001/05/11 13:26:22  tng
   * Copyright update.
   *
   * Revision 1.14  2001/05/03 19:09:25  knoaman
   * Support Warning/Error/FatalError messaging.
   * Validity constraints errors are treated as errors, with the ability by user to set
   * validity constraints as fatal errors.
   *
   * Revision 1.13  2001/03/30 16:46:57  tng
   * Schema: Use setDoSchema instead of setSchemaValidation which makes more sense.
   *
   * Revision 1.12  2001/03/21 21:56:09  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.11  2001/02/15 15:56:29  tng
   * Schema: Add setSchemaValidation and getSchemaValidation for DOMParser and SAXParser.
   * Add feature "http://apache.org/xml/features/validation/schema" for SAX2XMLReader.
   * New data field  fSchemaValidation in XMLScanner as the flag.
   *
   * Revision 1.10  2001/01/12 21:23:41  tng
   * Documentation Enhancement: explain values of Val_Scheme
   *
   * Revision 1.9  2000/08/02 18:05:15  jpolast
   * changes required for sax2
   * (changed private members to protected)
   *
   * Revision 1.8  2000/04/12 22:58:30  roddey
   * Added support for 'auto validate' mode.
   *
   * Revision 1.7  2000/03/03 01:29:34  roddey
   * Added a scanReset()/parseReset() method to the scanner and
   * parsers, to allow for reset after early exit from a progressive parse.
   * Added calls to new Terminate() call to all of the samples. Improved
   * documentation in SAX and DOM parsers.
   *
   * Revision 1.6  2000/02/17 03:54:27  rahulj
   * Added some new getters to query the parser state and
   * clarified the documentation.
   *
   * Revision 1.5  2000/02/16 03:42:58  rahulj
   * Finished documenting the SAX Driver implementation.
   *
   * Revision 1.4  2000/02/15 04:47:37  rahulj
   * Documenting the SAXParser framework. Not done yet.
   *
   * Revision 1.3  2000/02/06 07:47:56  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/15 19:57:48  roddey
   * Got rid of redundant 'const' on boolean return value. Some compilers choke
   * on this and its useless.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:51  twl
   * Initial checkin
   *
   * Revision 1.6  1999/11/08 20:44:54  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(SAXPARSER_HPP)
  #define SAXPARSER_HPP
  
  #include <sax/Parser.hpp>
  #include <internal/VecAttrListImpl.hpp>
  #include <framework/XMLDocumentHandler.hpp>
  #include <framework/XMLElementDecl.hpp>
  #include <framework/XMLEntityHandler.hpp>
  #include <framework/XMLErrorReporter.hpp>
  #include <validators/DTD/DocTypeHandler.hpp>
  
  class DocumentHandler;
  class EntityResolver;
  class XMLPScanToken;
  class XMLScanner;
  class XMLValidator;
  
  
  /**
    * This class implements the SAX 'Parser' interface and should be
    * used by applications wishing to parse the XML files using SAX.
    * It allows the client program to install SAX handlers for event
    * callbacks.
    *
    * <p>It can be used to instantiate a validating or non-validating
    * parser, by setting a member flag.</p>
    */
  
  class PARSERS_EXPORT SAXParser :
  
      public Parser
      , public XMLDocumentHandler
      , public XMLErrorReporter
      , public XMLEntityHandler
      , public DocTypeHandler
  {
  public :
      // -----------------------------------------------------------------------
      //  Class types
      // -----------------------------------------------------------------------
      enum ValSchemes
      {
          Val_Never
          , Val_Always
          , Val_Auto
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /** @name Constructors and Destructor */
      //@{
      /** Constructor with an instance of validator class to use for
        * validation.
        * @param valToAdopt Pointer to the validator instance to use. The
        *                   parser is responsible for freeing the memory.
        */
      SAXParser(XMLValidator* const valToAdopt = 0);
  
      /**
        * Destructor
        */
      ~SAXParser();
      //@}
  
  
      /** @name Getter methods */
      //@{
      /**
        * This method returns the installed document handler. Suitable
        * for 'lvalue' usages.
        *
        * @return The pointer to the installed document handler object.
        */
      DocumentHandler* getDocumentHandler();
  
      /**
        * This method returns the installed document handler. Suitable
        * only for 'rvalue' usages.
        *
        * @return A const pointer to the installed document handler object.
        */
      const DocumentHandler* getDocumentHandler() const;
  
      /**
        * This method returns the installed entity resolver. Suitable
        * for 'lvalue' usages.
        *
        * @return The pointer to the installed entity resolver object.
        */
      EntityResolver* getEntityResolver();
  
      /**
        * This method returns the installed entity resolver. Suitable
        * for 'rvalue' usages.
        *
        * @return A const pointer to the installed entity resolver object.
        */
      const EntityResolver* getEntityResolver() const;
  
      /**
        * This method returns the installed error handler. Suitable
        * for 'lvalue' usages.
        *
        * @return The pointer to the installed error handler object.
        */
      ErrorHandler* getErrorHandler();
  
      /**
        * This method returns the installed error handler. Suitable
        * for 'rvalue' usages.
        *
        * @return A const pointer to the installed error handler object.
        */
      const ErrorHandler* getErrorHandler() const;
  
      /**
        * This method returns a reference to the underlying scanner object.
        * It allows read only access to data maintained in the scanner.
        *
        * @return A const reference to the underlying scanner object.
        */
      const XMLScanner& getScanner() const;
  
      /**
        * This method returns a reference to the parser's installed
        * validator.
        *
        * @return A const reference to the installed validator object.
        */
      const XMLValidator& getValidator() const;
  
      /**
        * This method returns an enumerated value that indicates the current
        * validation scheme set on this parser.
        *
        * @return The ValSchemes value current set on this parser.
        * @see #setValidationScheme
        */
      ValSchemes getValidationScheme() const;
  
      /** Get the 'do schema' flag
        *
        * This method returns the state of the parser's schema processing
        * flag.
        *
        * @return true, if the parser is currently configured to
        *         understand schema, false otherwise.
        *
        * @see #setDoSchema
        */
      bool getDoSchema() const;
  
      /** Get the 'full schema constraint checking' flag
        *
        * This method returns the state of the parser's full schema constraint
        * checking flag.
        *
        * @return true, if the parser is currently configured to
        *         have full schema constraint checking, false otherwise.
        *
        * @see #setValidationSchemaFullChecking
        */
      bool getValidationSchemaFullChecking() const;
  
      /** Get error count from the last parse operation.
        *
        * This method returns the error count from the last parse
        * operation. Note that this count is actually stored in the
        * scanner, so this method simply returns what the
        * scanner reports.
        *
        * @return number of errors encountered during the latest
        *			parse operation.
        */
      int getErrorCount() const;
  
      /**
        * This method returns the state of the parser's namespace
        * handling capability.
        *
        * @return true, if the parser is currently configured to
        *         understand namespaces, false otherwise.
        *
        * @see #setDoNamespaces
        */
      bool getDoNamespaces() const;
  
      /**
        * This method returns the state of the parser's
        * exit-on-First-Fatal-Error flag.
        *
        * @return true, if the parser is currently configured to
        *         exit on the first fatal error, false otherwise.
        *
        * @see #setExitOnFirstFatalError
        */
      bool getExitOnFirstFatalError() const;
  
      /**
        * This method returns the state of the parser's
        * validation-constraint-fatal flag.
        *
        * @return true, if the parser is currently configured to
        *         set validation constraint errors as fatal, false
        *         otherwise.
        *
        * @see #setValidationContraintFatal
        */
      bool getValidationConstraintFatal() const;
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
      /** @name Setter methods */
      //@{
      /**
        * This method allows users to enable or disable the parser's
        * namespace processing. When set to true, parser starts enforcing
        * all the constraints / rules specified by the NameSpace
        * specification.
        *
        * <p>The parser's default state is: false.</p>
        *
        * <p>This flag is ignored by the underlying scanner if the installed
        * validator indicates that namespace constraints should be
        * enforced.</p>
        *
        * @param newState The value specifying whether NameSpace rules should
        *                 be enforced or not.
        *
        * @see #getDoNamespaces
        */
      void setDoNamespaces(const bool newState);
  
      /**
        * This method allows users to set the validation scheme to be used
        * by this parser. The value is one of the ValSchemes enumerated values
        * defined by this class:
        *
        * <br>  Val_Never  - turn off validation
        * <br>  Val_Always - turn on validation
        * <br>  Val_Auto   - turn on validation if any internal/external
        *                  DTD subset have been seen
        *
        * <p>The parser's default state is: Val_Auto.</p>
        *
        * @param newScheme The new validation scheme to use.
        *
        * @see #getValidationScheme
        */
      void setValidationScheme(const ValSchemes newScheme);
  
      /** Set the 'schema support' flag
        *
        * This method allows users to enable or disable the parser's
        * schema processing. When set to false, parser will not process
        * any schema found.
        *
        * The parser's default state is: false.
        *
        * @param newState The value specifying whether schema support should
        *                 be enforced or not.
        *
        * @see #getDoSchema
        */
      void setDoSchema(const bool newState);
  
      /**
        * This method allows the user to turn full Schema constraint checking on/off.
        * Only takes effect if Schema validation is enabled.
        * If turned off, partial constraint checking is done.
        *
        * Full schema constraint checking includes those checking that may
        * be time-consuming or memory intensive. Currently, particle unique
        * attribution constraint checking and particle derivation resriction checking
        * are controlled by this option.
        *
        * The parser's default state is: false.
        *
        * @param schemaFullChecking True to turn on full schema constraint checking.
        *
        * @see #getValidationSchemaFullChecking
        */
      void setValidationSchemaFullChecking(const bool schemaFullChecking);
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters the first fatal error. If set to true, the parser
        * will exit at the first fatal error. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'true' and the parser exits on the
        * first fatal error.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters the first
        *                 fatal error.
        *
        * @see #getExitOnFirstFatalError
        */
      void setExitOnFirstFatalError(const bool newState);
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters a validtion constraint error. If set to true, and the
        * the parser is set to exit when it encounter the first fatal error,
        * the parser will exit at the first encounter. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'false'.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters a validation
        *                 constraint error.
        *
        * @see #getValidationConstraintFatal
        */
      void setValidationConstraintFatal(const bool newState);
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Advanced document handler list maintenance methods
      // -----------------------------------------------------------------------
  
      /** @name Advanced document handler list maintenance methods */
      //@{
      /**
        * This method installs the specified 'advanced' document callback
        * handler, thereby allowing the user to customize the processing,
        * if they choose to do so. Any number of advanced callback handlers
        * maybe installed.
        *
        * <p>The methods in the advanced callback interface represent
        * Xerces-C extensions. There is no specification for this interface.</p>
        *
        * @param toInstall A pointer to the users advanced callback handler.
        *
        * @see #removeAdvDocHandler
        */
      void installAdvDocHandler(XMLDocumentHandler* const toInstall);
  
      /**
        * This method removes the 'advanced' document handler callback from
        * the underlying parser scanner. If no handler is installed, advanced
        * callbacks are not invoked by the scanner.
        * @param toRemove A pointer to the advanced callback handler which
        *                 should be removed.
        *
        * @see #installAdvDocHandler
        */
      bool removeAdvDocHandler(XMLDocumentHandler* const toRemove);
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the SAXParser interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of SAX 1.0 interface's. */
      //@{
      /**
        * This method invokes the parsing process on the XML file specified
        * by the InputSource parameter.
        *
        * @param source A const reference to the InputSource object which
        *               points to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @see Parser#parse(InputSource)
        */
      virtual void parse(const InputSource& source, const bool reuseGrammar = false);
  
      /**
        * This method invokes the parsing process on the XML file specified by
        * the Unicode string parameter 'systemId'.
        *
        * @param systemId A const XMLCh pointer to the Unicode string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @see Parser#parse(XMLCh*)
        */
      virtual void parse(const XMLCh* const systemId, const bool reuseGrammar = false);
  
      /**
        * This method invokes the parsing process on the XML file specified by
        * the native char* string parameter 'systemId'.
        *
        * @param systemId A const char pointer to a native string which
        *                 contains the path to the XML file to be parsed.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        */
      virtual void parse(const char* const systemId, const bool reuseGrammar = false);
  
      /**
        * This method installs the user specified SAX Document Handler
        * callback function on parser.
        *
        * @param handler A pointer to the document handler to be called
        *                when the parser comes across 'document' events
        *                as per the SAX specification.
        *
        * @see Parser#parse(char*)
        */
      virtual void setDocumentHandler(DocumentHandler* const handler);
  
      /**
        * This method installs the user specified DTD handler on the parser.
        *
        * @param handler A pointer to the DTD handler to be called
        *                when the parser comes across 'DTD' events
        *                as per the SAX specification.
        *
        * @see Parser#setDTDHandler
        */
      virtual void setDTDHandler(DTDHandler* const handler);
  
      /**
        * This method installs the user specified error handler on
        * the parser.
        *
        * @param handler A pointer to the error handler to be called
        *                when the parser comes across 'error' events
        *                as per the SAX specification.
        *
        * @see Parser#setErrorHandler
        */
      virtual void setErrorHandler(ErrorHandler* const handler);
  
      /**
        * This method installs the user specified entity resolver on the
        * parser. It allows applications to trap and redirect calls to
        * external entities.
        *
        * @param handler A pointer to the entity resolver to be called
        *                when the parser comes across references to
        *                entities in the XML file.
        *
        * @see Parser#setEntityResolver
        */
      virtual void setEntityResolver(EntityResolver* const resolver);
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Progressive scan methods
      // -----------------------------------------------------------------------
  
      /** @name Progressive scan methods */
      //@{
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a Unicode string represting the path
        *                 to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could parse the
        *         prolog (which means the token will not be valid.)
        *
        * @see #parseNext
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a regular native string represting
        *                 the path to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consIstency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param source   A const reference to the InputSource object which
        *                 points to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        */
      bool parseFirst
      (
          const   InputSource&    source
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      );
  
      /** Continue a progressive parse operation
        *
        * This method is used to continue with progressive parsing of
        * XML files started by a call to 'parseFirst' method.
        *
        * It parses the XML file and stops as soon as it comes across
        * a XML token (as defined in the XML specification). Relevant
        * callback handlers are invoked as required by the SAX
        * specification.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @return 'true', if successful in parsing the next XML token.
        *         It indicates the user can go ahead with parsing the rest
        *         of the file. It returns 'false' to indicate that the parser
        *         could not find next token as per the XML specification
        *         production rule.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      bool parseNext(XMLPScanToken& token);
  
      /** Reset the parser after a progressive parse
        *
        * If a progressive parse loop exits before the end of the document
        * is reached, the parser has no way of knowing this. So it will leave
        * open any files or sockets or memory buffers that were in use at
        * the time that the parse loop exited.
        *
        * The next parse operation will cause these open files and such to
        * be closed, but the next parse operation might occur at some unknown
        * future point. To avoid this problem, you should reset the parser if
        * you exit the loop early.
        *
        * If you exited because of an error, then this cleanup will be done
        * for you. Its only when you exit the file prematurely of your own
        * accord, because you've found what you wanted in the file most
        * likely.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        */
      void parseReset(XMLPScanToken& token);
  
      //@}
  
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the DocTypeHandler Interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the DocTypeHandler Interface */
      //@{
      /**
        * This method is used to report an attribute definition.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX
        * driver implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing information
        *                 about the element whose attribute definition was just
        *                 parsed.
        * @param attDef   A const reference to the object containing information
        *                 attribute definition.
        * @param ignore   The flag indicating whether this attribute definition
        *                 was ignored by the parser or not.
        */
      virtual void attDef
      (
          const   DTDElementDecl& elemDecl
          , const DTDAttDef&      attDef
          , const bool            ignoring
      );
  
      /**
        * This method is used to report a comment occurring within the DTD.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param comment  A const pointer to a Unicode string representing the
        *                 text of the comment just parsed.
        */
      virtual void doctypeComment
      (
          const   XMLCh* const    comment
      );
  
      /**
        * This method is used to report the DOCTYPE declaration.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing information
        *                 about the root element definition declaration of the
        *                 XML document being parsed.
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the DTD file.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the DTD file.
        * @param hasIntSubset A flag indicating if this XML file contains any
        *                     internal subset.
        */
      virtual void doctypeDecl
      (
          const   DTDElementDecl& elemDecl
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const bool            hasIntSubset
      );
  
      /**
        * This method is used to report any PI declarations
        * occurring inside the DTD definition block.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        */
      virtual void doctypePI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
        * This method is used to report any whitespaces
        * occurring inside the DTD definition block.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param chars  A const pointer to a Unicode string representing the
        *               whitespace characters.
        * @param length The length of the whitespace Unicode string.
        */
      virtual void doctypeWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
      /**
        * This method is used to report an element declarations
        * successfully scanned by the parser.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param decl   A const reference to the object containing element
        *               declaration information.
        * @param isIgnored The flag indicating whether this definition was
        *                  ignored by the parser or not.
        */
      virtual void elementDecl
      (
          const   DTDElementDecl& decl
          , const bool            isIgnored
      );
  
      /**
        * This method is used to report the end of an attribute
        * list declaration for an element.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        */
      virtual void endAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      /**
        * This method is used to report the end of the internal subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void endIntSubset();
  
      /**
        * This method is used to report the end of the external subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void endExtSubset();
  
      /**
        * This method is used to report any entity declarations.
        * For unparsed entities, this driver will invoke the
        * SAX DTDHandler::unparsedEntityDecl callback.
        *
        * @param entityDecl A const reference to the object containing
        *                   the entity declaration information.
        * @param isPEDecl  The flag indicating whether this was a
        *                  parameter entity declaration or not.
        * @param isIgnored The flag indicating whether this definition
        *                  was ignored by the parser or not.
        *
        * @see DTDHandler#unparsedEntityDecl
        */
      virtual void entityDecl
      (
          const   DTDEntityDecl&  entityDecl
          , const bool            isPEDecl
          , const bool            isIgnored
      );
  
      /**
        * This method allows the user installed DTD handler to
        * reset itself.
        */
      virtual void resetDocType();
  
      /**
        * This method is used to report any notation declarations.
        * If there is a user installed DTDHandler, then the driver will
        * invoke the SAX DTDHandler::notationDecl callback.
        *
        * @param notDecl A const reference to the object containing the notation
        *                declaration information.
        * @param isIgnored The flag indicating whether this definition was ignored
        *                  by the parser or not.
        *
        * @see DTDHandler#notationDecl
        */
      virtual void notationDecl
      (
          const   XMLNotationDecl&    notDecl
          , const bool                isIgnored
      );
  
      /**
        * This method is used to indicate the start of an element's attribute
        * list declaration.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        */
      virtual void startAttList
      (
          const   DTDElementDecl& elemDecl
      );
  
      /**
        * This method is used indicate the start of the internal subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void startIntSubset();
  
      /**
        * This method is used indicate the start of the external subset.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void startExtSubset();
  
      /**
        * This method is used to report the TextDecl. Refer to the XML
        * specification for the syntax of a TextDecl.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   the version number of the 'version' clause.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding name of the 'encoding' clause.
        */
      virtual void TextDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
      );
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLDocumentHandler interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLDocumentHandler Interface. */
      //@{
      /**
        * This method is used to report all the characters scanned
        * by the parser. The driver will invoke the 'characters'
        * method of the user installed SAX Document Handler.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'docCharacters' method will also be invoked.</p>
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                character data.
        * @param length  The length of the Unicode string returned in 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        * @see DocumentHandler#characters
        */
      virtual void docCharacters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /**
        * This method is used to report any comments scanned by the parser.
        * This method is a no-op unless, unless an advanced callback handler
        * is installed, in which case the corresponding 'docComment' method
        * is invoked.
        *
        * @param comment A const pointer to a null terminated Unicode
        *                string representing the comment text.
        */
      virtual void docComment
      (
          const   XMLCh* const    comment
      );
  
      /**
        * This method is used to report any PI scanned by the parser.
        *
        * <p>Any PI's occurring before any 'content' are not reported
        * to any SAX handler as per the specification. However, all
        * PI's within content are reported via the SAX Document Handler's
        * 'processingInstruction' method.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'docPI' method will be invoked.</p>
        *
        * @param target A const pointer to a Unicode string representing the
        *               target of the PI declaration.
        * @param data   A const pointer to a Unicode string representing the
        *               data of the PI declaration. See the PI production rule
        *               in the XML specification for details.
        *
        * @see DocumentHandler#processingInstruction
        */
      virtual void docPI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
        * This method is used to indicate the end of root element
        * was just scanned by the parser. Corresponding 'endDocument'
        * method of the user installed SAX Document Handler will also
        * be invoked.
        *
        * <p>In addition, if any advanced callback handlers are installed,
        * the corresponding 'endDocument' method is invoked.</p>
        *
        * @see DocumentHandler#endDocument
        */
      virtual void endDocument();
  
      /**
        * This method is used to indicate the end tag of an element.
        * The driver will invoke the corresponding 'endElement' method of
        * the SAX Document Handler interface.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endElement' method is also invoked.</p>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#endElement
        */
      virtual void endElement
      (
          const   XMLElementDecl& elemDecl
          , const unsigned int    urlId
          , const bool            isRoot
      );
  
      /**
        * This method is used to indicate that an end of an entity reference
        * was just scanned.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endEnityReference' method is invoked.</p>
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void endEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /**
        * This method is used to report all the whitespace characters,
        * which are determined to be 'ignorable'. This distinction
        * between characters is only made, if validation is enabled.
        * Corresponding 'ignorableWhitespace' method of the user installed
        * SAX Document Handler interface is called.
        *
        * <p>Any whitespace before content is not reported to the SAX
        * Document Handler method, as per the SAX specification.
        * However, if any advanced callback handlers are installed, the
        * corresponding 'ignorableWhitespace' method is invoked.</p>
        *
        * @param chars   A const pointer to a Unicode string representing the
        *                ignorable whitespace character data.
        * @param length  The length of the Unicode string 'chars'.
        * @param cdataSection  A flag indicating if the characters represent
        *                      content from the CDATA section.
        * @see DocumentHandler#ignorableWhitespace
        */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
          , const bool            cdataSection
      );
  
      /**
        * This method allows the user installed Document Handler and
        * any advanced callback handlers to 'reset' themselves.
        */
      virtual void resetDocument();
  
      /**
        * This method is used to report the start of the parsing process.
        * The corresponding user installed SAX Document Handler's method
        * 'startDocument' is invoked.
        *
        * <p>If any advanced callback handlers are installed, then the
        * corresponding 'startDocument' method is also called.</p>
        *
        * @see DocumentHandler#startDocument
        */
      virtual void startDocument();
  
      /**
        * This method is used to report the start of an element. It is
        * called at the end of the element, by which time all attributes
        * specified are also parsed. The corresponding user installed
        * SAX Document Handler's method 'startElement' is invoked.
        *
        * <p>If any advanced callback handlers are installed, then the
        * corresponding 'startElement' method is also called.</p>
        *
        * @param elemDecl A const reference to the object containing element
        *                 declaration information.
        * @param urlId    An id referring to the namespace prefix, if
        *                 namespaces setting is switched on.
        * @param elemPrefix A const pointer to a Unicode string containing
        *                   the namespace prefix for this element. Applicable
        *                   only when namespace processing is enabled.
        * @param attrList  A const reference to the object containing the
        *                  list of attributes just scanned for this element.
        * @param attrCount A count of number of attributes in the list
        *                  specified by the parameter 'attrList'.
        * @param isEmpty  A flag indicating whether this is an empty element
        *                 or not.
        * @param isRoot   A flag indicating whether this element was the
        *                 root element.
        * @see DocumentHandler#startElement
        */
      virtual void startElement
      (
          const   XMLElementDecl&         elemDecl
          , const unsigned int            urlId
          , const XMLCh* const            elemPrefix
          , const RefVectorOf<XMLAttr>&   attrList
          , const unsigned int            attrCount
          , const bool                    isEmpty
          , const bool                    isRoot
      );
  
      /**
        * This method is used to indicate the start of an entity reference.
        *
        * <p>If any advanced callback handlers are installed, the
        * corresponding 'endEnityReference' method is invoked.</p>
        *
        * @param entDecl A const reference to the object containing the
        *                entity declaration information.
        */
      virtual void startEntityReference
      (
          const   XMLEntityDecl&  entDecl
      );
  
      /**
        * This method is used to report the XML decl scanned by the parser.
        * Refer to the XML specification to see the meaning of parameters.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param versionStr A const pointer to a Unicode string representing
        *                   version string value.
        * @param encodingStr A const pointer to a Unicode string representing
        *                    the encoding string value.
        * @param standaloneStr A const pointer to a Unicode string
        *                      representing the standalone string value.
        * @param actualEncodingStr A const pointer to a Unicode string
        *                          representing the actual encoding string
        *                          value.
        */
      virtual void XMLDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
          , const XMLCh* const    standaloneStr
          , const XMLCh* const    actualEncodingStr
      );
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLErrorReporter interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLErrorReporter Interface. */
      //@{
      /**
        * This method is used to report back errors found while parsing the
        * XML file. The driver will call the corresponding user installed
        * SAX Error Handler methods: 'fatal', 'error', 'warning' depending
        * on the severity of the error. This classification is defined by
        * the XML specification.
        *
        * @param errCode An integer code for the error.
        * @param msgDomain A const pointer to an Unicode string representing
        *                  the message domain to use.
        * @param errType An enumeration classifying the severity of the error.
        * @param errorText A const pointer to an Unicode string representing
        *                  the text of the error message.
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id of the XML file where this error
        *                  was discovered.
        * @param publicId  A const pointer to an Unicode string representing
        *                  the public id of the XML file where this error
        *                  was discovered.
        * @param lineNum   The line number where the error occurred.
        * @param colNum    The column number where the error occurred.
        * @see ErrorHandler
        */
      virtual void error
      (
          const   unsigned int                errCode
          , const XMLCh* const                msgDomain
          , const XMLErrorReporter::ErrTypes  errType
          , const XMLCh* const                errorText
          , const XMLCh* const                systemId
          , const XMLCh* const                publicId
          , const unsigned int                lineNum
          , const unsigned int                colNum
      );
  
      /**
        * This method allows the user installed Error Handler
        * callback to 'reset' itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        */
      virtual void resetErrors();
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLEntityHandler interface
      // -----------------------------------------------------------------------
  
      /** @name Implementation of the XMLEntityHandler Interface. */
      //@{
      /**
        * This method is used to indicate the end of parsing of an external
        * entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the XML file being parsed.
        * @see InputSource
        */
      virtual void endInputSource(const InputSource& inputSource);
  
      /**
        * This method allows an installed XMLEntityHandler to further
        * process any system id's of enternal entities encountered in
        * the XML file being parsed, such as redirection etc.
        *
        * <b><font color="#FF0000">This method always returns 'false'
        * for this SAX driver implementation.</font></b>
        *
        * @param systemId  A const pointer to an Unicode string representing
        *                  the system id scanned by the parser.
        * @param toFill    A pointer to a buffer in which the application
        *                  processed system id is stored.
        * @return 'true', if any processing is done, 'false' otherwise.
        */
      virtual bool expandSystemId
      (
          const   XMLCh* const    systemId
          ,       XMLBuffer&      toFill
      );
  
      /**
        * This method allows the installed XMLEntityHandler to reset
        * itself.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        */
      virtual void resetEntities();
  
      /**
        * This method allows a user installed entity handler to further
        * process any pointers to external entities. The applications
        * can implement 'redirection' via this callback. The driver
        * should call the SAX EntityHandler 'resolveEntity' method.
        *
        * @param publicId A const pointer to a Unicode string representing the
        *                 public id of the entity just parsed.
        * @param systemId A const pointer to a Unicode string representing the
        *                 system id of the entity just parsed.
        * @return The value returned by the SAX resolveEntity method or
        *         NULL otherwise to indicate no processing was done.
        * @see EntityResolver
        */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /**
        * This method is used to indicate the start of parsing an
        * external entity file.
        *
        * <b><font color="#FF0000">This method is a no-op for this SAX driver
        * implementation.</font></b>
        *
        * @param inputSource A const reference to the InputSource object
        *                    which points to the external entity
        *                    being parsed.
        */
      virtual void startInputSource(const InputSource& inputSource);
      //@}
  
  
      /** @name Deprecated Methods */
      //@{
      /**
        * This method returns the state of the parser's validation
        * handling flag which controls whether validation checks
        * are enforced or not.
        *
        * @return true, if the parser is currently configured to
        *         do validation, false otherwise.
        *
        * @see #setDoValidation
        */
      bool getDoValidation() const;
  
      /**
        * This method allows users to enable or disable the parser's validation
        * checks.
        *
        * <p>By default, the parser does not to any validation. The default
        * value is false.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 do validity checks or not against the DTD in the
        *                 input XML document.
        *
        * @see #getDoValidation
        */
      void setDoValidation(const bool newState);
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      SAXParser(const SAXParser&);
      void operator=(const SAXParser&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAttrList
      //      A temporary implementation of the basic SAX attribute list
      //      interface. We use this one over and over on each startElement
      //      event to allow SAX-like access to the element attributes.
      //
      //  fDocHandler
      //      The installed SAX doc handler, if any. Null if none.
      //
      //  fDTDHandler
      //      The installed SAX DTD handler, if any. Null if none.
      //
      //  fElemDepth
      //      This is used to track the element nesting depth, so that we can
      //      know when we are inside content. This is so we can ignore char
      //      data outside of content.
      //
      //  fEntityResolver
      //      The installed SAX entity handler, if any. Null if none.
      //
      //  fErrorHandler
      //      The installed SAX error handler, if any. Null if none.
      //
      //  fAdvDHCount
      //  fAdvDHList
      //  fAdvDHListSize
      //      This is an array of pointers to XMLDocumentHandlers, which is
      //      how we see installed advanced document handlers. There will
      //      usually not be very many at all, so a simple array is used
      //      instead of a collection, for performance. It will grow if needed,
      //      but that is unlikely.
      //
      //      The count is how many handlers are currently installed. The size
      //      is how big the array itself is (for expansion purposes.) When
      //      count == size, is time to expand.
      //
      //  fParseInProgress
      //      This flag is set once a parse starts. It is used to prevent
      //      multiple entrance or reentrance of the parser.
      //
      //  fScanner
      //      The scanner being used by this parser. It is created internally
      //      during construction.
      //
      // -----------------------------------------------------------------------
      VecAttrListImpl         fAttrList;
      DocumentHandler*        fDocHandler;
      DTDHandler*             fDTDHandler;
      unsigned int            fElemDepth;
      EntityResolver*         fEntityResolver;
      ErrorHandler*           fErrorHandler;
      unsigned int            fAdvDHCount;
      XMLDocumentHandler**    fAdvDHList;
      unsigned int            fAdvDHListSize;
      bool                    fParseInProgress;
      XMLScanner*             fScanner;
  };
  
  
  // ---------------------------------------------------------------------------
  //  SAXParser: Getter methods
  // ---------------------------------------------------------------------------
  inline DocumentHandler* SAXParser::getDocumentHandler()
  {
      return fDocHandler;
  }
  
  inline const DocumentHandler* SAXParser::getDocumentHandler() const
  {
      return fDocHandler;
  }
  
  inline EntityResolver* SAXParser::getEntityResolver()
  {
      return fEntityResolver;
  }
  
  inline const EntityResolver* SAXParser::getEntityResolver() const
  {
      return fEntityResolver;
  }
  
  inline ErrorHandler* SAXParser::getErrorHandler()
  {
      return fErrorHandler;
  }
  
  inline const ErrorHandler* SAXParser::getErrorHandler() const
  {
      return fErrorHandler;
  }
  
  inline const XMLScanner& SAXParser::getScanner() const
  {
      return *fScanner;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/AttributeList.hpp
  
  Index: AttributeList.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: AttributeList.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/03/02 19:54:34  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/02/24 20:12:54  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.5  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.4  2000/02/09 02:12:21  abagchi
   * Added getValue docs
   *
   * Revision 1.3  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/15 19:58:31  roddey
   * Added new convenience version of getValue() that takes a short character
   * string for the attribute name.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:43  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:54  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef ATTRIBUTELIST_HPP
  #define ATTRIBUTELIST_HPP
  
  #include <util/XercesDefs.hpp>
  
  /**
    * Interface for an element's attribute specifications.
    *
    * The SAX parser implements this interface and passes an instance
    * to the SAX application as the second argument of each startElement
    * event.
    *
    * The instance provided will return valid results only during the
    * scope of the startElement invocation (to save it for future
    * use, the application must make a copy: the AttributeListImpl
    * helper class provides a convenient constructor for doing so).
    *
    * An AttributeList includes only attributes that have been
    * specified or defaulted: #IMPLIED attributes will not be included.
    *
    * There are two ways for the SAX application to obtain information
    * from the AttributeList.  First, it can iterate through the entire
    * list:
    *
    * <pre>
    * public void startElement (String name, AttributeList atts) {
    *   for (int i = 0; i < atts.getLength(); i++) {
    *     String name = atts.getName(i);
    *     String type = atts.getType(i);
    *     String value = atts.getValue(i);
    *     [...]
    *   }
    * }
    * </pre>
    *
    * (Note that the result of getLength() will be zero if there
    * are no attributes.)
    *
    * As an alternative, the application can request the value or
    * type of specific attributes:
    *
    * <pre>
    * public void startElement (String name, AttributeList atts) {
    *   String identifier = atts.getValue("id");
    *   String label = atts.getValue("label");
    *   [...]
    * }
    * </pre>
    *
    * The AttributeListImpl helper class provides a convenience 
    * implementation for use by parser or application writers.
    *
    * @see DocumentHandler#startElement 
    * @see AttributeListImpl#AttributeListImpl
    */
  
  class SAX_EXPORT AttributeList
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      AttributeList()
      {
      }
  
      /** Destructor */
      virtual ~AttributeList()
      {
      }
      //@}
  
      /** @name The virtual attribute list interface */
      //@{
    /**
      * Return the number of attributes in this list.
      *
      * The SAX parser may provide attributes in any
      * arbitrary order, regardless of the order in which they were
      * declared or specified.  The number of attributes may be
      * zero.
      *
      * @return The number of attributes in the list.  
      */
      virtual unsigned int getLength() const = 0;
  
    /**
      * Return the name of an attribute in this list (by position).
      *
      * The names must be unique: the SAX parser shall not include the
      * same attribute twice.  Attributes without values (those declared
      * #IMPLIED without a value specified in the start tag) will be
      * omitted from the list.
      *
      * If the attribute name has a namespace prefix, the prefix
      * will still be attached.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The name of the indexed attribute, or null
      *         if the index is out of range.
      * @see #getLength 
      */
      virtual const XMLCh* getName(const unsigned int index) const = 0;
  
    /**
      * Return the type of an attribute in the list (by position).
      *
      * The attribute type is one of the strings "CDATA", "ID",
      * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
      * or "NOTATION" (always in upper case).
      *
      * If the parser has not read a declaration for the attribute,
      * or if the parser does not report attribute types, then it must
      * return the value "CDATA" as stated in the XML 1.0 Recommentation
      * (clause 3.3.3, "Attribute-Value Normalization").
      *
      * For an enumerated attribute that is not a notation, the
      * parser will report the type as "NMTOKEN".
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The attribute type as a string, or
      *         null if the index is out of range.
      * @see #getLength 
      * @see #getType(String)
      */
      virtual const XMLCh* getType(const unsigned int index) const = 0;
  
    /**
      * Return the value of an attribute in the list (by position).
      *
      * If the attribute value is a list of tokens (IDREFS,
      * ENTITIES, or NMTOKENS), the tokens will be concatenated
      * into a single string separated by whitespace.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The attribute value as a string, or
      *         null if the index is out of range.
      * @see #getLength
      * @see #getValue(XMLCh*)
      * @see #getValue(char *)
      */
      virtual const XMLCh* getValue(const unsigned int index) const = 0;
  
    /**
      * Return the type of an attribute in the list (by name).
      *
      * The return value is the same as the return value for
      * getType(int).
      *
      * If the attribute name has a namespace prefix in the document,
      * the application must include the prefix here.
      *
      * @param name The name of the attribute.
      * @return The attribute type as a string, or null if no
      *         such attribute exists.
      * @see #getType(int)
      */
      virtual const XMLCh* getType(const XMLCh* const name) const = 0;
  
    /**
      * Return the value of an attribute in the list (by name).
      *
      * The return value is the same as the return value for
      * getValue(int).
      *
      * If the attribute name has a namespace prefix in the document,
      * the application must include the prefix here.
      *
      * @param name The name of the attribute in the list.
      * @return The attribute value as a string, or null if
      *         no such attribute exists.
      * @see #getValue(int)
      * @see #getValue(char *)
      */
      virtual const XMLCh* getValue(const XMLCh* const name) const = 0;
  
    /**
      * Return the value of an attribute in the list (by name).
      *
      * The return value is the same as the return value for
      * getValue(int).
      *
      * If the attribute name has a namespace prefix in the document,
      * the application must include the prefix here.
      *
      * @param name The name of the attribute in the list.
      * @return The attribute value as a string, or null if
      *         no such attribute exists.
      * @see #getValue(int)
      * @see #getValue(XMLCh*)
      */
      virtual const XMLCh* getValue(const char* const name) const = 0;
      //@}
  
  private :
      /* Constructors and operators */
      /* Copy constructor */
      AttributeList(const AttributeList&);
      /* Assignment operator */
      void operator=(const AttributeList&);
      
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/DTDHandler.hpp
  
  Index: DTDHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/02/24 20:12:54  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.2  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:44  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:54  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef DTDHANDLER_HPP
  #define DTDHANDLER_HPP
  
  /**
    * Receive notification of basic DTD-related events.
    *
    * <p>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.</p>
    *
    * <p>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.</p>
    *
    * <p>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.</p>
    *
    * <p>The HandlerBase class provides a default implementation
    * of this interface, which simply ignores the events.</p>
    *
    * @see Parser#setDTDHandler
    * @see HandlerBase#HandlerBase
    */
  
  class SAX_EXPORT DTDHandler
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default Constructor */
      DTDHandler()
      {
      }
      
      /** Destructor */
      virtual ~DTDHandler()
      {
      }
  
      //@}
  
      /** @name The DTD handler interface */
      //@{
    /**
      * Receive notification of a notation declaration event.
      *
      * <p>It is up to the application to record the notation for later
      * reference, if necessary.</p>
      *
      * <p>If a system identifier is present, and it is a URL, the SAX
      * parser must resolve it fully before passing it to the
      * application.</p>
      *
      * @param name The notation name.
      * @param publicId The notation's public identifier, or null if
      *        none was given.
      * @param systemId The notation's system identifier, or null if
      *        none was given.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #unparsedEntityDecl
      * @see AttributeList#AttributeList
      */
  	virtual void notationDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
      ) = 0;
  
    /**
      * Receive notification of an unparsed entity declaration event.
      *
      * <p>Note that the notation name corresponds to a notation
      * reported by the notationDecl() event.  It is up to the
      * application to record the entity for later reference, if
      * necessary.</p>
      *
      * <p>If the system identifier is a URL, the parser must resolve it
      * fully before passing it to the application.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @param name The unparsed entity's name.
      * @param publicId The entity's public identifier, or null if none
      *        was given.
      * @param systemId The entity's system identifier (it must always
      *        have one).
      * @param notation name The name of the associated notation.
      * @see #notationDecl
      * @see AttributeList#AttributeList
      */
      virtual void unparsedEntityDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const XMLCh* const    notationName
      ) = 0;
  
      /**
      * Reset the DocType object on its reuse
      *
      * <p>This method helps in reseting the DTD object implementational
      * defaults each time the DTD is begun.</p>
      *
      */
      virtual void resetDocType() = 0;
  
      //@}
  
  private :
      /* Unimplemented constructors and operators */
      
      /* Copy constructor */
      DTDHandler(const DTDHandler&);
  
      /* Assignment operator */
      void operator=(const DTDHandler&);
      
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/DocumentHandler.hpp
  
  Index: DocumentHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DocumentHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/02 19:54:34  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.2  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:43  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:44:54  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef DOCUMENTHANDLER_HPP
  #define DOCUMENTHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class AttributeList;
  class Locator;
  
  /**
    * Receive notification of general document events.
    *
    * <p>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 setDocumentHandler method.  The parser 
    * uses the instance to report basic document-related events like
    * the start and end of elements and character data.</p>
    *
    * <p>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.</p>
    *
    * <p>Application writers who do not want to implement the entire
    * interface while can derive a class from HandlerBase, which implements
    * the default functionality; parser writers can instantiate
    * HandlerBase to obtain a default handler.  The application can find
    * the location of any document event using the Locator interface
    * supplied by the Parser through the setDocumentLocator method.</p>
    *
    * @see Parser#setDocumentHandler
    * @see Locator#Locator
    * @see HandlerBase#HandlerBase
    */
  
  class SAX_EXPORT DocumentHandler
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      DocumentHandler()
      {
      }
  
      /** Destructor */
      virtual ~DocumentHandler()
      {
      }
      //@}
  
      /** @name The virtual document handler interface */
      
      //@{
     /**
      * Receive notification of character data.
      *
      * <p>The Parser will call this method to report each chunk of
      * character data.  SAX parsers may return all contiguous character
      * data in a single chunk, or they may split it into several
      * chunks; however, all of the characters in any single event
      * must come from the same external entity, so that the Locator
      * provides useful information.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * <p>Note that some parsers will report whitespace using the
      * ignorableWhitespace() method rather than this one (validating
      * parsers must do so).</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #ignorableWhitespace 
      * @see Locator#Locator
      */
      virtual void characters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
    /**
      * Receive notification of the end of a document.
      *
      * <p>The SAX parser will invoke this method only once, and it will
      * be the last method invoked during the parse.  The parser shall
      * not invoke this method until it has either abandoned parsing
      * (because of an unrecoverable error) or reached the end of
      * input.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endDocument () = 0;
  
    /**
      * Receive notification of the end of an element.
      *
      * <p>The SAX parser will invoke this method at the end of every
      * element in the XML document; there will be a corresponding
      * startElement() event for every endElement() event (even when the
      * element is empty).</p>
      *
      * <p>If the element name has a namespace prefix, the prefix will
      * still be attached to the name.</p>
      *
      * @param name The element type name
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endElement(const XMLCh* const name) = 0;
  
    /**
      * Receive notification of ignorable whitespace in element content.
      *
      * <p>Validating Parsers must use this method to report each chunk
      * of ignorable whitespace (see the W3C XML 1.0 recommendation,
      * section 2.10): non-validating parsers may also use this method
      * if they are capable of parsing and using content models.</p>
      *
      * <p>SAX parsers may return all contiguous whitespace in a single
      * chunk, or they may split it into several chunks; however, all of
      * the characters in any single event must come from the same
      * external entity, so that the Locator provides useful
      * information.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #characters
      */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
    /**
      * Receive notification of a processing instruction.
      *
      * <p>The Parser will invoke this method once for each processing
      * instruction found: note that processing instructions may occur
      * before or after the main document element.</p>
      *
      * <p>A SAX parser should never report an XML declaration (XML 1.0,
      * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
      * using this method.</p>
      *
      * @param target The processing instruction target.
      * @param data The processing instruction data, or null if
      *        none was supplied.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void processingInstruction
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      ) = 0;
  
      /**
      * Reset the Docuemnt object on its reuse
      *
      * <p>This method helps in reseting the document implementational
      * defaults each time the document is begun.</p>
      *
      */
      virtual void resetDocument() = 0;
  
    /**
      * Receive an object for locating the origin of SAX document events.
      *
      * SAX parsers are strongly encouraged (though not absolutely
      * required) to supply a locator: if it does so, it must supply
      * the locator to the application by invoking this method before
      * invoking any of the other methods in the DocumentHandler
      * interface.
      *
      * The locator allows the application to determine the end
      * position of any document-related event, even if the parser is
      * not reporting an error.  Typically, the application will
      * use this information for reporting its own errors (such as
      * character content that does not match an application's
      * business rules). The information returned by the locator
      * is probably not sufficient for use with a search engine.
      *
      * Note that the locator will return correct information only
      * during the invocation of the events in this interface. The
      * application should not attempt to use it at any other time.
      *
      * @param locator An object that can return the location of
      *                any SAX document event. The object is only
      *                'on loan' to the client code and they are not
      *                to attempt to delete or modify it in any way!
      *
      * @see Locator#Locator
      */
      virtual void setDocumentLocator(const Locator* const locator) = 0;
  
    /**
      * Receive notification of the beginning of a document.
      *
      * <p>The SAX parser will invoke this method only once, before any
      * other methods in this interface or in DTDHandler (except for
      * setDocumentLocator).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startDocument() = 0;
  
    /**
      * Receive notification of the beginning of an element.
      *
      * <p>The Parser will invoke this method at the beginning of every
      * element in the XML document; there will be a corresponding
      * endElement() event for every startElement() event (even when the
      * element is empty). All of the element's content will be
      * reported, in order, before the corresponding endElement()
      * event.</p>
      *
      * <p>If the element name has a namespace prefix, the prefix will
      * still be attached.  Note that the attribute list provided will
      * contain only attributes with explicit values (specified or
      * defaulted): #IMPLIED attributes will be omitted.</p>
      *
      * @param name The element type name.
      * @param attrs The attributes attached to the element, if any.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #endElement
      * @see AttributeList#AttributeList 
      */
      virtual void startElement
      (
          const   XMLCh* const    name
          ,       AttributeList&  attrs
      ) = 0;
  
      //@}
  
  private :
      /* Unimplemented Constructors and operators */
      /* Copy constructor */
      DocumentHandler(const DocumentHandler&);
      /** Assignment operator */
      void operator=(const DocumentHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/EntityResolver.hpp
  
  Index: EntityResolver.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: EntityResolver.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/02 19:54:34  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.2  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:44  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:44:56  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef ENTITYRESOLVER_HPP
  #define ENTITYRESOLVER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class InputSource;
  
  /**
    * Basic interface for resolving entities.
    *
    * <p>If a SAX application needs to implement customized handling
    * for external entities, it must implement this interface and
    * register an instance with the SAX parser using the parser's
    * setEntityResolver method.</p>
    *
    * <p>The parser will then allow the application to intercept any
    * external entities (including the external DTD subset and external
    * parameter entities, if any) before including them.</p>
    *
    * <p>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.</p>
    *
    * <p>The following resolver would provide the application
    * with a special character stream for the entity with the system
    * identifier "http://www.myhost.com/today":</p>
    *
    *<pre>
    *#include <sax/EntityResolver.hpp>
    *#include <sax/InputSource.hpp>
    *
    *class MyResolver : public EntityResolver {
    *  public:
    *    InputSource resolveEntity (const XMLCh* const publicId, 
    *                               const XMLCh* const systemId);
    *   ...
    *   };
    *
    *  MyResolver::resolveEntity {
    *    if (XMLString::compareString(systemId, "http://www.myhost.com/today")) {
    *      MyReader* reader = new MyReader();
    *      return new InputSource(reader);
    *    } else {
    *      return null;
    *    }
    *  }
    *
    *</pre>
    *
    * <p>The application can also use this interface to redirect system
    * identifiers to local URIs or to look up replacements in a catalog
    * (possibly by using the public identifier).</p>
    *
    * <p>The HandlerBase class implements the default behaviour for
    * this interface, which is simply always to return null (to request
    * that the parser use the default system identifier).</p>
    *
    * @see Parser#setEntityResolver
    * @see InputSource#InputSource
    * @see HandlerBase#HandlerBase 
    */
  class SAX_EXPORT EntityResolver
  {
  public:
      /** @name Constructors and Destructor */
      //@{
  
      /** Default Constructor */
      EntityResolver()
      {
      }
  
      /** Destructor */
      virtual ~EntityResolver()
      {
      }
  
      //@}
  
      /** @name The EntityResolver interface */
      //@{
  
    /**
      * Allow the application to resolve external entities.
      *
      * <p>The Parser will call this method before opening any external
      * entity except the top-level document entity (including the
      * external DTD subset, external entities referenced within the
      * DTD, and external entities referenced within the document
      * element): the application may request that the parser resolve
      * the entity itself, that it use an alternative URI, or that it
      * use an entirely different input source.</p>
      *
      * <p>Application writers can use this method to redirect external
      * system identifiers to secure and/or local URIs, to look up
      * public identifiers in a catalogue, or to read an entity from a
      * database or other input source (including, for example, a dialog
      * box).</p>
      *
      * <p>If the system identifier is a URL, the SAX parser must
      * resolve it fully before reporting it to the application.</p>
      *
      * @param publicId The public identifier of the external entity
      *        being referenced, or null if none was supplied.
      * @param systemId The system identifier of the external entity
      *        being referenced.
      * @return An InputSource object describing the new input source,
      *         or null to request that the parser open a regular
      *         URI connection to the system identifier.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception IOException An IO exception,
      *            possibly the result of creating a new InputStream
      *            or Reader for the InputSource.
      * @see InputSource#InputSource
      */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      ) = 0;
  
      //@}
  
  private :
      /* Unimplemented constructors and operators */
  
      
      /* Copy constructor */
      EntityResolver(const EntityResolver&);
  
      /* Assignment operator */
      void operator=(const EntityResolver&);
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/ErrorHandler.hpp
  
  Index: ErrorHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ErrorHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/04/27 19:33:15  rahulj
   * Included <util/XercesDefs.hpp> as suggested by David N Bertoni.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.2  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:45  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:00  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef ERRORHANDLER_HPP
  #define ERRORHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class SAXParseException;
  
  
  /**
    * Basic interface for SAX error handlers.
    *
    * <p>If a SAX application needs to implement customized error
    * handling, it must implement this interface and then register an
    * instance with the SAX parser using the parser's setErrorHandler
    * method.  The parser will then report all errors and warnings
    * through this interface.</p>
    *
    * <p> The parser shall use this interface instead of throwing an
    * exception: it is up to the application 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).</p>
    *
    * <p>The HandlerBase class provides a default implementation of this
    * interface, ignoring warnings and recoverable errors and throwing a
    * SAXParseException for fatal errors.  An application may extend
    * that class rather than implementing the complete interface
    * itself.</p>
    *
    * @see Parser#setErrorHandler
    * @see SAXParseException#SAXParseException 
    * @see HandlerBase#HandlerBase
    */
  
  class SAX_EXPORT ErrorHandler
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      ErrorHandler()
      {
      }
  
      /** Desctructor */
      virtual ~ErrorHandler()
      {
      }
      //@}
  
      /** @name The error handler interface */
      //@{
     /**
      * Receive notification of a warning.
      *
      * <p>SAX parsers will use this method to report conditions that
      * are not errors or fatal errors as defined by the XML 1.0
      * recommendation.  The default behaviour is to take no action.</p>
      *
      * <p>The SAX parser must continue to provide normal parsing events
      * after invoking this method: it should still be possible for the
      * application to process the document through to the end.</p>
      *
      * @param exception The warning information encapsulated in a
      *                  SAX parse exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see SAXParseException#SAXParseException 
      */
      virtual void warning(const SAXParseException& exception) = 0;
  
    /**
      * Receive notification of a recoverable error.
      *
      * <p>This corresponds to the definition of "error" in section 1.2
      * of the W3C XML 1.0 Recommendation.  For example, a validating
      * parser would use this callback to report the violation of a
      * validity constraint.  The default behaviour is to take no
      * action.</p>
      *
      * <p>The SAX parser must continue to provide normal parsing events
      * after invoking this method: it should still be possible for the
      * application to process the document through to the end.  If the
      * application cannot do so, then the parser should report a fatal
      * error even if the XML 1.0 recommendation does not require it to
      * do so.</p>
      *
      * @param exception The error information encapsulated in a
      *                  SAX parse exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see SAXParseException#SAXParseException 
      */
      virtual void error(const SAXParseException& exception) = 0;
  
    /**
      * Receive notification of a non-recoverable error.
      *
      * <p>This corresponds to the definition of "fatal error" in
      * section 1.2 of the W3C XML 1.0 Recommendation.  For example, a
      * parser would use this callback to report the violation of a
      * well-formedness constraint.</p>
      *
      * <p>The application must assume that the document is unusable
      * after the parser has invoked this method, and should continue
      * (if at all) only for the sake of collecting addition error
      * messages: in fact, SAX parsers are free to stop reporting any
      * other events once this method has been invoked.</p>
      *
      * @param exception The error information encapsulated in a
      *                  SAX parse exception.  
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see SAXParseException#SAXParseException
      */
      virtual void fatalError(const SAXParseException& exception) = 0;
      
      /**
      * Reset the Error handler object on its reuse
      *
      * <p>This method helps in reseting the Error handler object
      * implementational defaults each time the Error handler is begun.</p>
      *
      */
      virtual void resetErrors() = 0;
  
  
      //@}
  
  private :
      /* Unimplemented constructors and operators */
      
      /* Copy constructor */
      ErrorHandler(const ErrorHandler&);
  
      /* Assignment operator */
      void operator=(const ErrorHandler&);
      
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/HandlerBase.hpp
  
  Index: HandlerBase.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: HandlerBase.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/02 19:54:35  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.2  2000/02/06 07:47:57  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:45  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:00  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef HANDLERBASE_HPP
  #define HANDLERBASE_HPP
  
  #include <sax/DocumentHandler.hpp>
  #include <sax/DTDHandler.hpp>
  #include <sax/EntityResolver.hpp>
  #include <sax/ErrorHandler.hpp>
  #include <sax/SAXParseException.hpp>
  
  class Locator;
  class AttributeList;
  
  /**
    * Default base class for handlers.
    *
    * <p>This class implements the default behaviour for four SAX
    * interfaces: EntityResolver, DTDHandler, DocumentHandler,
    * and ErrorHandler.</p>
    *
    * <p>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.</p>
    *
    * <p>Note that the use of this class is optional.</p>
    *
    * @see EntityResolver#EntityResolver
    * @see DTDHandler#DTDHandler
    * @see DocumentHandler#DocumentHandler
    * @see ErrorHandler#ErrorHandler
    */
  
  class SAX_EXPORT HandlerBase :
  
      public EntityResolver, public DTDHandler, public DocumentHandler
      , public ErrorHandler
  {
  public:
      /** @name Default handlers for the DocumentHandler interface */
      //@{
    /**
      * Receive notification of character data inside an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method to take specific actions for each chunk of character data
      * (such as adding the data to a node or buffer, or printing it to
      * a file).</p>
      *
      * @param chars The characters.
      * @param length The number of characters to use from the
      *               character array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#characters
      */
      virtual void characters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
    /**
      * Receive notification of the end of the document.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the beginning
      * of a document (such as finalising a tree or closing an output
      * file).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#endDocument
      */
      virtual void endDocument();
  
    /**
      * Receive notification of the end of an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the end of
      * each element (such as finalising a tree node or writing
      * output to a file).</p>
      *
      * @param name The element type name.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#endElement
      */
      virtual void endElement(const XMLCh* const name);
  
    /**
      * Receive notification of ignorable whitespace in element content.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method to take specific actions for each chunk of ignorable
      * whitespace (such as adding data to a node or buffer, or printing
      * it to a file).</p>
      *
      * @param chars The whitespace characters.
      * @param length The number of characters to use from the
      *               character array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#ignorableWhitespace
      */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
    /**
      * Receive notification of a processing instruction.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions for each
      * processing instruction, such as setting status variables or
      * invoking other methods.</p>
      *
      * @param target The processing instruction target.
      * @param data The processing instruction data, or null if
      *             none is supplied.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#processingInstruction
      */
      virtual void processingInstruction
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
      * Reset the Docuemnt object on its reuse
      *
      * @see DocumentHandler#resetDocument
      */
      virtual void resetDocument();
      //@}
  
      /** @name Default implementation of DocumentHandler interface */
  
      //@{
    /**
      * Receive a Locator object for document events.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass if they wish to store the locator for use
      * with other document events.</p>
      *
      * @param locator A locator for all SAX document events.
      * @see DocumentHandler#setDocumentLocator
      * @see Locator
      */
      virtual void setDocumentLocator(const Locator* const locator);
  
    /**
      * Receive notification of the beginning of the document.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the beginning
      * of a document (such as allocating the root node of a tree or
      * creating an output file).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#startDocument
      */
      virtual void startDocument();
  
    /**
      * Receive notification of the start of an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the start of
      * each element (such as allocating a new tree node or writing
      * output to a file).</p>
      *
      * @param name The element type name.
      * @param attributes The specified or defaulted attributes.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#startElement
      */
      virtual void startElement
      (
          const   XMLCh* const    name
          ,       AttributeList&  attributes
      );
  
      //@}
  
      /** @name Default implementation of the EntityResolver interface. */
  
      //@{
    /**
      * Resolve an external entity.
      *
      * <p>Always return null, so that the parser will use the system
      * identifier provided in the XML document.  This method implements
      * the SAX default behaviour: application writers can override it
      * in a subclass to do special translations such as catalog lookups
      * or URI redirection.</p>
      *
      * @param publicId The public identifer, or null if none is
      *                 available.
      * @param systemId The system identifier provided in the XML 
      *                 document.
      * @return The new input source, or null to require the
      *         default behaviour.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see EntityResolver#resolveEntity
      */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      //@}
  
      /** @name Default implementation of the ErrorHandler interface */
      //@{
     /**
      * Receive notification of a recoverable parser error.
      *
      * <p>The default implementation does nothing.  Application writers
      * may override this method in a subclass to take specific actions
      * for each error, such as inserting the message in a log file or
      * printing it to the console.</p>
      *
      * @param exception The warning information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#warning
      * @see SAXParseException#SAXParseException
      */
      virtual void error(const SAXParseException& exception);
  
    /**
      * Report a fatal XML parsing error.
      *
      * <p>The default implementation throws a SAXParseException.
      * Application writers may override this method in a subclass if
      * they need to take specific actions for each fatal error (such as
      * collecting all of the errors into a single report): in any case,
      * the application must stop all regular processing when this
      * method is invoked, since the document is no longer reliable, and
      * the parser may no longer report parsing events.</p>
      *
      * @param e The error information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#fatalError
      * @see SAXParseException#SAXParseException
      */
      virtual void fatalError(const SAXParseException& exception);
  
    /**
      * Receive notification of a parser warning.
      *
      * <p>The default implementation does nothing.  Application writers
      * may override this method in a subclass to take specific actions
      * for each warning, such as inserting the message in a log file or
      * printing it to the console.</p>
      *
      * @param e The warning information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#warning
      * @see SAXParseException#SAXParseException
      */
      virtual void warning(const SAXParseException& exception);
  
      /**
      * Reset the Error handler object on its reuse
      *
      * @see ErrorHandler#resetErrors
      */
      virtual void resetErrors();
  
      //@}
  
  
      /** @name Default implementation of DTDHandler interface. */
      //@{
  
    /**
      * Receive notification of a notation declaration.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass if they wish to keep track of the notations
      * declared in a document.</p>
      *
      * @param name The notation name.
      * @param publicId The notation public identifier, or null if not
      *                 available.
      * @param systemId The notation system identifier.
      * @see DTDHandler#notationDecl
      */
      virtual void notationDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /**
      * Reset the DTD object on its reuse
      *
      * @see DTDHandler#resetDocType
      */
      virtual void resetDocType();
  
    /**
      * Receive notification of an unparsed entity declaration.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to keep track of the unparsed entities
      * declared in a document.</p>
      *
      * @param name The entity name.
      * @param publicId The entity public identifier, or null if not
      *                 available.
      * @param systemId The entity system identifier.
      * @param notationName The name of the associated notation.
      * @see DTDHandler#unparsedEntityDecl
      */
      virtual void unparsedEntityDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const XMLCh* const    notationName
      );
      //@}
  };
  
  
  // ---------------------------------------------------------------------------
  //  HandlerBase: Inline default implementations
  // ---------------------------------------------------------------------------
  inline void HandlerBase::characters(const   XMLCh* const    chars
                                      , const unsigned int    length)
  {
  }
  
  inline void HandlerBase::endDocument()
  {
  }
  
  inline void HandlerBase::endElement(const XMLCh* const name)
  {
  }
  
  inline void HandlerBase::error(const SAXParseException& exception)
  {
  }
  
  inline void HandlerBase::fatalError(const SAXParseException& exception)
  {
      throw exception;
  }
  
  inline void
  HandlerBase::ignorableWhitespace(   const   XMLCh* const chars
                                      , const unsigned int length)
  {
  }
  
  inline void HandlerBase::notationDecl(  const   XMLCh* const name
                                          , const XMLCh* const publicId
                                          , const XMLCh* const systemId)
  {
  }
  
  inline void
  HandlerBase::processingInstruction( const   XMLCh* const target
                                      , const XMLCh* const data)
  {
  }
  
  inline void HandlerBase::resetErrors()
  {
  }
  
  inline void HandlerBase::resetDocument()
  {
  }
  
  inline void HandlerBase::resetDocType()
  {
  }
  
  inline InputSource*
  HandlerBase::resolveEntity( const   XMLCh* const publicId
                              , const XMLCh* const systemId)
  {
      return 0;
  }
  
  inline void
  HandlerBase::unparsedEntityDecl(const   XMLCh* const name
                                  , const XMLCh* const publicId
                                  , const XMLCh* const systemId
                                  , const XMLCh* const notationName)
  {
  }
  
  inline void HandlerBase::setDocumentLocator(const Locator* const locator)
  {
  }
  
  inline void HandlerBase::startDocument()
  {
  }
  
  inline void
  HandlerBase::startElement(  const   XMLCh* const    name
                              ,       AttributeList&  attributes)
  {
  }
  
  inline void HandlerBase::warning(const SAXParseException& exception)
  {
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/InputSource.hpp
  
  Index: InputSource.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: InputSource.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2000/03/02 19:54:35  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.7  2000/02/12 03:42:21  rahulj
   * Fixed DOC++ documentation formatting errors.
   *
   * Revision 1.6  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.5  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.4  2000/02/09 02:15:28  abagchi
   * Documented destructor
   *
   * Revision 1.3  2000/02/06 07:47:58  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/12 00:15:39  roddey
   * Changes to deal with multiply nested, relative pathed, entities and to deal
   * with the new URL class changes.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:46  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:01  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef INPUTSOURCE_HPP
  #define INPUTSOURCE_HPP
  
  #include <util/XercesDefs.hpp>
  
  class BinInputStream;
  
  
  /**
    * A single input source for an XML entity.
    *
    * <p>This class encapsulates information about an input source in a
    * single object, which may include a public identifier or a system
    * identifier</p>
    *
    * <p>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.</p>
    *
    * <p>InputSource is never used directly, but is the base class for a number
    * of derived classes for particular types of input sources. Derivatives are
    * provided (in the internal/ directory) for URL input sources, memory buffer
    * input sources, and so on.</p>
    *
    * <p>When it is time to parse the input described by an input source, it
    * will be asked to create a binary stream for that source. That stream will
    * be used to input the data of the source. The derived class provides the
    * implementation of the makeStream() method, and provides a type of stream
    * of the correct type for the input source it represents.
    *
    * <p>An InputSource object belongs to the application: the parser never
    * modifies them in any way. They are always passed by const reference so
    * the parser will make a copy of any input sources that it must keep 
    * around beyond the call.</p>
    *
    * @see Parser#parse
    * @see EntityResolver#resolveEntity
    */
  class SAX_EXPORT InputSource
  {
  public:
      // -----------------------------------------------------------------------
      //  All constructors are hidden, just the destructor is available
      // -----------------------------------------------------------------------
      /** @name Destructor */
      //@{
    /**
      * Destructor
      *
      */
      virtual ~InputSource();
      //@}
  
  
      // -----------------------------------------------------------------------
      /** @name Virtual input source interface */
      //@{
    /**
      * Makes the byte stream for this input source.
      *
      * <p>The derived class must create and return a binary input stream of an
      * appropriate type for its kind of data source. The returned stream must
      * be dynamically allocated and becomes the parser's property.
      * </p>
      *
      * @see BinInputStream
      */
      virtual BinInputStream* makeStream() const = 0;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      /** @name Getter methods */
      //@{
    /**
      * An input source can be set to force the parser to assume a particular
      * encoding for the data that input source reprsents, via the setEncoding()
      * method. This method returns name of the encoding that is to be forced.
      * If the encoding has never been forced, it returns a null pointer.
      *
      * @return The forced encoding, or null if none was supplied.
      * @see #setEncoding
      */
      const XMLCh* getEncoding() const;
  
  
    /**
      * Get the public identifier for this input source.
      *
      * @return The public identifier, or null if none was supplied.
      * @see #setPublicId
      */
      const XMLCh* getPublicId() const;
  
  
    /**
      * Get the system identifier for this input source.
      *
      * <p>If the system ID is a URL, it will be fully resolved.</p>
      *
      * @return The system identifier.
      * @see #setSystemId
      */
      const XMLCh* getSystemId() const;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      /** @name Setter methods */
      //@{
  
    /**
      * Set the encoding which will be required for use with the XML text read
      * via a stream opened by this input source.
      *
      * <p>This is usually not set, allowing the encoding to be sensed in the
      * usual XML way. However, in some cases, the encoding in the file is known
      * to be incorrect because of intermediate transcoding, for instance
      * encapsulation within a MIME document.
      *
      * @param encodingStr The name of the encoding to force.
      */
      void setEncoding(const XMLCh* const encodingStr);
  
  
    /**
      * Set the public identifier for this input source.
      *
      * <p>The public identifier is always optional: if the application writer
      * includes one, it will be provided as part of the location information.</p>
      *
      * @param publicId The public identifier as a string.
      * @see Locator#getPublicId
      * @see SAXParseException#getPublicId
      * @see #getPublicId
      */
      void setPublicId(const XMLCh* const publicId);
  
    /**
      * Set the system identifier for this input source.
      *
      * <p>Set the system identifier for this input source.
      *
      * </p>The system id is always required. The public id may be used to map
      * to another system id, but the system id must always be present as a fall
      * back.
      *
      * <p>If the system ID is a URL, it must be fully resolved.</p>
      *
      * @param systemId The system identifier as a string.
      * @see #getSystemId
      * @see Locator#getSystemId
      * @see SAXParseException#getSystemId
      */
      void setSystemId(const XMLCh* const systemId);
  
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      InputSource();
  
      /** Constructor with a system identifier as XMLCh type.
        * @param systemId The system identifier (URI).
        */
      InputSource(const XMLCh* const systemId);
  
      /** Constructor with a system and public identifiers 
        * @param systemId The system identifier (URI).
        * @param publicId The public identifier as in the entity definition.
        */
      InputSource
      (
          const   XMLCh* const    systemId
          , const XMLCh* const    publicId
      );
      
      /** Constructor witha system identifier as string 
        * @param systemId The system identifier (URI).
        */
      InputSource(const char* const systemId);
      
      /** Constructor witha system and public identifiers. Both as string 
        * @param systemId The system identifier (URI).
        * @param publicId The public identifier as in the entity definition.
        */
      InputSource
      (
          const   char* const systemId
          , const char* const publicId
      );
      
      //@}
  
  
      
  
  
  private:
      // -----------------------------------------------------------------------    
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------    
      InputSource(const InputSource&);
      void operator=(const InputSource&);
  
  
      // -----------------------------------------------------------------------    
      //  Private data members
      //
      //  fEncoding
      //      This is the encoding to use. Usually this is null, which means
      //      to use the information found in the file itself. But, if set,
      //      this encoding will be used without question.
      //
      //  fPublicId
      //      This is the optional public id for the input source. It can be
      //      null if none is desired.
      //
      //  fSystemId
      //      This is the system id for the input source. This is what is
      //      actually used to open the source.
      // -----------------------------------------------------------------------    
      XMLCh*  fEncoding;
      XMLCh*  fPublicId;
      XMLCh*  fSystemId;
  };
  
  
  // ---------------------------------------------------------------------------
  //  InputSource: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* InputSource::getEncoding() const 
  {
      return fEncoding;
  }
  
  inline const XMLCh* InputSource::getPublicId() const 
  {
      return fPublicId;
  }
  
  inline const XMLCh* InputSource::getSystemId() const 
  {
      return fSystemId;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/Locator.hpp
  
  Index: Locator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Locator.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/02 19:54:35  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/09 01:55:06  abagchi
   * Removed private function docs
   *
   * Revision 1.2  2000/02/06 07:47:58  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:46  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:01  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef LOCATOR_HPP
  #define LOCATOR_HPP
  
  #include <util/XercesDefs.hpp>
  /**
    * Interface for associating a SAX event with a document location.
    *
    * <p>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 document
    * handler's setDocumentLocator method.  The application can use the
    * object to obtain the location of any other document handler event
    * in the XML source document.</p>
    *
    * <p>Note that the results returned by the object will be valid only
    * during the scope of each document handler method: the application
    * will receive unpredictable results if it attempts to use the
    * locator at any other time.</p>
    *
    * <p>SAX parsers are not required to supply a locator, but they are
    * very strong 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.</p>
    *
    * @see DocumentHandler#setDocumentLocator 
    */
  
  class SAX_EXPORT Locator
  {
  public:
  
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      Locator()
      {
      }
  
      /** Destructor */
      virtual ~Locator()
      {
      }
  
      //@}
  
      /** @name The locator interface */
      //@{
    /**
      * Return the public identifier for the current document event.
      * <p>This will be the public identifier
      * @return A string containing the public identifier, or
      *         null if none is available.
      * @see #getSystemId
      */
      virtual const XMLCh* getPublicId() const = 0;
  
    /**
      * Return the system identifier for the current document event.
      *
      * <p>If the system identifier is a URL, the parser must resolve it
      * fully before passing it to the application.</p>
      *
      * @return A string containing the system identifier, or null
      *         if none is available.
      * @see #getPublicId
      */
      virtual const XMLCh* getSystemId() const = 0;
  
    /**
      * Return the line number where the current document event ends.
      * Note that this is the line position of the first character
      * after the text associated with the document event.
      * @return The line number, or -1 if none is available.
      * @see #getColumnNumber
      */
      virtual int getLineNumber() const = 0;
  
    /**
      * Return the column number where the current document event ends.
      * Note that this is the column number of the first
      * character after the text associated with the document
      * event.  The first column in a line is position 1.
      * @return The column number, or -1 if none is available.
      * @see #getLineNumber
      */
      virtual int getColumnNumber() const = 0;
      //@}
  
  private :
      /* Copy constructor */
      Locator(const Locator&);
  
      /* Assignment operator */
      void operator=(const Locator&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/Parser.hpp
  
  Index: Parser.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Parser.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2001/05/11 13:26:24  tng
   * Copyright update.
   *
   * Revision 1.7  2001/03/21 21:56:10  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.6  2000/03/02 19:54:35  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 03:31:55  rahulj
   * Removed duplicate CVS Log entries.
   *
   * Revision 1.3  2000/02/09 01:59:12  abagchi
   * Removed private function docs, added parse docs
   *
   * Revision 1.2  2000/02/06 07:47:58  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:46  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:02  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef PARSER_HPP
  #define PARSER_HPP
  
  class DTDHandler;
  class EntityResolver;
  class DocumentHandler;
  class ErrorHandler;
  class InputSource;
  
  /**
    * Basic interface for SAX (Simple API for XML) parsers.
    *
    * All SAX parsers must implement this basic interface: it allows
    * applications to register handlers for different types of events
    * and to initiate a parse from a URI, or a character stream.
    *
    * All SAX parsers must also implement a zero-argument constructor
    * (though other constructors are also allowed).
    *
    * SAX parsers are reusable but not re-entrant: the application
    * may reuse a parser object (possibly with a different input source)
    * once the first parse has completed successfully, but it may not
    * invoke the parse() methods recursively within a parse.
    *
    * @see EntityResolver#EntityResolver
    * @see DTDHandler#DTDHandler
    * @see DocumentHandler#DocumentHandler
    * @see ErrorHandler#ErrorHandler
    * @see HandlerBase#HandlerBase
    * @see InputSource#InputSource
    */
  
  #include <util/XercesDefs.hpp>
  
  class SAX_EXPORT Parser
  {
  public:
      /** @name Constructors and Destructor */
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      //@{
      /** The default constructor */
      Parser()
      {
      }
      /** The destructor */
      virtual ~Parser()
      {
      }
      //@}
  
      //-----------------------------------------------------------------------
      // The parser interface
      //-----------------------------------------------------------------------
      /** @name The parser interfaces */
      //@{
    /**
      * Allow an application to register a custom entity resolver.
      *
      * If the application does not register an entity resolver, the
      * SAX parser will resolve system identifiers and open connections
      * to entities itself (this is the default behaviour implemented in
      * HandlerBase).
      *
      * Applications may register a new or different entity resolver
      * in the middle of a parse, and the SAX parser must begin using
      * the new resolver immediately.
      *
      * @param resolver The object for resolving entities.
      * @see EntityResolver#EntityResolver
      * @see HandlerBase#HandlerBase
      */
      virtual void setEntityResolver(EntityResolver* const resolver) = 0;
  
    /**
      * Allow an application to register a DTD event handler.
      *
      * If the application does not register a DTD handler, all DTD
      * events reported by the SAX parser will be silently ignored (this
      * is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the middle
      * of a parse, and the SAX parser must begin using the new handler
      * immediately.
      *
      * @param handler The DTD handler.
      * @see DTDHandler#DTDHandler
      * @see HandlerBase#HandlerBase
      */
      virtual void setDTDHandler(DTDHandler* const handler) = 0;
  
    /**
      * Allow an application to register a document event handler.
      *
      * If the application does not register a document handler, all
      * document events reported by the SAX parser will be silently
      * ignored (this is the default behaviour implemented by
      * HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The document handler.
      * @see DocumentHandler#DocumentHandler
      * @see HandlerBase#HandlerBase
      */
      virtual void setDocumentHandler(DocumentHandler* const handler) = 0;
  
    /**
      * Allow an application to register an error event handler.
      *
      * If the application does not register an error event handler,
      * all error events reported by the SAX parser will be silently
      * ignored, except for fatalError, which will throw a SAXException
      * (this is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The error handler.
      * @see ErrorHandler#ErrorHandler
      * @see SAXException#SAXException
      * @see HandlerBase#HandlerBase
      */
      virtual void setErrorHandler(ErrorHandler* const handler) = 0;
  
    /**
      * Parse an XML document.
      *
      * The application can use this method to instruct the SAX parser
      * to begin parsing an XML document from any valid input
      * source (a character stream, a byte stream, or a URI).
      *
      * Applications may not invoke this method while a parse is in
      * progress (they should create a new Parser instead for each
      * additional XML document).  Once a parse is complete, an
      * application may reuse the same Parser object, possibly with a
      * different input source.
      *
      * @param source The input source for the top-level of the
      *               XML document.
      * @param reuseGrammar The flag indicating whether the existing Grammar
      *                     should be reused or not for this parsing run.
      *                     If true, there cannot be any internal subset.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see InputSource#InputSource
      * @see #setEntityResolver
      * @see #setDTDHandler
      * @see #setDocumentHandler
      * @see #setErrorHandler
      */
      virtual void parse
      (
          const   InputSource&    source
          , const bool            reuseGrammar = false
      ) = 0;
  
    /**
      * Parse an XML document from a system identifier (URI).
      *
      * This method is a shortcut for the common case of reading a
      * document from a system identifier.  It is the exact equivalent
      * of the following:
      *
      * parse(new URLInputSource(systemId));
      *
      * If the system identifier is a URL, it must be fully resolved
      * by the application before it is passed to the parser.
      *
      * @param systemId The system identifier (URI).
      * @param reuseGrammar The flag indicating whether the existing Grammar
      *                     should be reused or not for this parsing run.
      *                     If true, there cannot be any internal subset.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see #parse(InputSource)
      */
      virtual void parse
      (
          const   XMLCh* const    systemId
          , const bool            reuseGrammar = false
      ) = 0;
  
    /**
      * Parse an XML document from a system identifier (URI).
      *
      * This method is a shortcut for the common case of reading a
      * document from a system identifier.  It is the exact equivalent
      * of the following:
      *
      * parse(new URLInputSource(systemId));
      *
      * If the system identifier is a URL, it must be fully resolved
      * by the application before it is passed to the parser.
      *
      * @param systemId The system identifier (URI).
      * @param reuseGrammar The flag indicating whether the existing Grammar
      *                     should be reused or not for this parsing run.
      *                     If true, there cannot be any internal subset.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see #parse(InputSource)
      */
      virtual void parse
      (
          const   char* const     systemId
          , const bool            reuseGrammar = false
      ) = 0;
      //@}
  
  
  private :
      /* The copy constructor, you cannot call this directly */
      Parser(const Parser&);
  
      /* The assignment operator, you cannot call this directly */
      void operator=(const Parser&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/SAXException.hpp
  
  Index: SAXException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SAXException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/09/07 23:55:02  andyh
   * Fix SAXException assignment operator.  Now non-virtual, and
   * SAXParseException invokes base class operator.
   *
   * Revision 1.7  2000/08/09 22:06:04  jpolast
   * more functionality to SAXException and its children.
   * msgs are now functional for SAXNotSupportedEx and
   * SAXNotRecognizedEx
   *
   * Revision 1.6  2000/08/02 18:04:02  jpolast
   * include SAXNotSupportedException and
   * SAXNotRecognizedException needed for sax2
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/09 19:15:17  abagchi
   * Inserted documentation for new APIs
   *
   * Revision 1.3  2000/02/06 07:47:58  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/18 00:21:23  roddey
   * Fixed a small reported memory leak
   *
   * Revision 1.1.1.1  1999/11/09 01:07:47  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:02  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef SAXEXCEPTION_HPP
  #define SAXEXCEPTION_HPP
  
  #include <util/XMLString.hpp>
  #include <util/XMLUni.hpp>
  
  
  /**
    * Encapsulate a general SAX error or warning.
    *
    * <p>This class can contain basic error or warning information from
    * either the XML SAX parser or the application: a parser writer or
    * application writer can subclass it to provide additional
    * functionality.  SAX handlers may throw this exception or
    * any exception subclassed from it.</p>
    *
    * <p>If the application needs to pass through other types of
    * exceptions, it must wrap those exceptions in a SAXException
    * or an exception derived from a SAXException.</p>
    *
    * <p>If the parser or application needs to include information
    * about a specific location in an XML document, it should use the
    * SAXParseException subclass.</p>
    *
    * @see SAXParseException#SAXParseException
    */
  class SAX_EXPORT SAXException
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor 
       */
      SAXException() :
  
          fMsg(XMLString::replicate(XMLUni::fgZeroLenString))
      {
      }
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXException(const XMLCh* const msg) :
  
          fMsg(XMLString::replicate(msg))
      {
      }
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXException(const char* const msg) :
  
          fMsg(XMLString::transcode(msg))
      {
      }
  
    /**
      * Copy constructor
      *
      * @param toCopy The exception to be copy constructed
      */
      SAXException(const SAXException& toCopy) :
  
          fMsg(XMLString::replicate(toCopy.fMsg))
      {
      }
  
      /** Destructor */
      virtual ~SAXException()
      {
          delete [] fMsg;
      }
  
      //@}
  
  
      /** @name Public Operators */
      //@{
      /**
        * Assignment operator
        *
        * @param toCopy The object to be copied
        */
      SAXException& operator=(const SAXException& toCopy)
      {
          if (this == &toCopy)
              return *this;
  
          delete [] fMsg;
          fMsg = XMLString::replicate(toCopy.fMsg);
          return *this;
      }
      //@}
  
      /** @name Getter Methods */
      //@{
      /**
        * Get the contents of the message
        *
        */
      virtual const XMLCh* getMessage() const
      {
          return fMsg;
      }
      //@}
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected data members
      //
      //  fMsg
      //      This is the text of the error that is being thrown.
      // -----------------------------------------------------------------------
      XMLCh*  fMsg;
  };
  
  class SAXNotSupportedException : public SAXException
  {
  
  public:
  	SAXNotSupportedException();
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXNotSupportedException(const XMLCh* const msg);
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXNotSupportedException(const char* const msg);
  
    /**
      * Copy constructor
      *
      * @param toCopy The exception to be copy constructed
      */
      SAXNotSupportedException(const SAXException& toCopy);
  };
  
  class SAXNotRecognizedException : public SAXException
  {
  public:
  	SAXNotRecognizedException();
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXNotRecognizedException(const XMLCh* const msg);
  
    /**
      * Create a new SAXException.
      *
      * @param msg The error or warning message.
      */
      SAXNotRecognizedException(const char* const msg);
  
    /**
      * Copy constructor
      *
      * @param toCopy The exception to be copy constructed
      */
      SAXNotRecognizedException(const SAXException& toCopy);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax/SAXParseException.hpp
  
  Index: SAXParseException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SAXParseException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/02/24 20:12:55  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/12 01:27:19  aruna1
   * Documentation updated
   *
   * Revision 1.3  2000/02/09 19:24:49  abagchi
   * Inserted documentation for constructors and destructors
   *
   * Revision 1.2  2000/02/06 07:47:58  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:47  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:02  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #ifndef SAXPARSEEXCEPTION_HPP
  #define SAXPARSEEXCEPTION_HPP
  
  #include    <sax/SAXException.hpp>
  
  class Locator;
  
  /**
    * Encapsulate an XML parse error or warning.
    *
    * <p>This exception will include information for locating the error
    * in the original XML document.  Note that although the application
    * will receive a SAXParseException as the argument to the handlers
    * in the ErrorHandler interface, the application is not actually
    * required to throw the exception; instead, it can simply read the
    * information in it and take a different action.</p>
    *
    * <p>Since this exception is a subclass of SAXException, it
    * inherits the ability to wrap another exception.</p>
    *
    * @see SAXException#SAXException
    * @see Locator#Locator
    * @see ErrorHandler#ErrorHandler
    */
  class SAX_EXPORT SAXParseException : public SAXException
  {
  public:
      /** @name Constructors and Destructor */
      //@{
    /**
      * Create a new SAXParseException from a message and a Locator.
      *
      * <p>This constructor is especially useful when an application is
      * creating its own exception from within a DocumentHandler
      * callback.</p>
      *
      * @param message The error or warning message.
      * @param locator The locator object for the error or warning.
      * @see Locator#Locator
      * @see Parser#setLocale 
      */
      SAXParseException(const XMLCh* const message, const Locator& locator);
  
  
    /**
      * Create a new SAXParseException.
      *
      * <p>This constructor is most useful for parser writers.</p>
      *
      * <p>If the system identifier is a URL, the parser must resolve it
      * fully before creating the exception.</p>
      *
      * @param message The error or warning message.
      * @param publicId The public identifer of the entity that generated
      *                 the error or warning.
      * @param systemId The system identifer of the entity that generated
      *                 the error or warning.
      * @param lineNumber The line number of the end of the text that
      *                   caused the error or warning.
      * @param columnNumber The column number of the end of the text that
      *                     caused the error or warning.
      * @see Parser#setLocale
      */
      SAXParseException
      (
          const   XMLCh* const    message
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const unsigned int    lineNumber
          , const unsigned int    columnNumber
      );
  
    /**
      * Copy constructor
      *
      * @param toCopy The object to be copied
      */
      SAXParseException(const SAXParseException& toCopy);
  
      /**
        * Destructor
        */
      ~SAXParseException();
  
      //@}
  
      /** @name Assignment operator */
      //@{
     /**
      * Assignment operator
      *
      * @param toAssign The object to be copied through assignment
      *
      */
      SAXParseException& operator=(const SAXParseException& toAssign);
      //@}
  
      /** @name Getter methods */
      //@{
     /**
      * The column number of the end of the text where the exception occurred.
      *
      * <p>The first column in a line is position 1.</p>
      *
      * @return An integer representing the column number, or -1
      *         if none is available.
      * @see Locator#getColumnNumber
      */
      unsigned int getColumnNumber() const;
    /**
      * The line number of the end of the text where the exception occurred.
      *
      * @return An integer representing the line number, or -1
      *         if none is available.
      * @see Locator#getLineNumber
      */
      unsigned int getLineNumber() const;
    /**
      * Get the public identifier of the entity where the exception occurred.
      *
      * @return A string containing the public identifier, or null
      *         if none is available.
      * @see Locator#getPublicId
      */
      const XMLCh* getPublicId() const;
    /**
      * Get the system identifier of the entity where the exception occurred.
      *
      * <p>If the system identifier is a URL, it will be resolved
      * fully.</p>
      *
      * @return A string containing the system identifier, or null
      *         if none is available.
      * @see Locator#getSystemId
      */
      const XMLCh* getSystemId() const;
      //@}
  
  private:
      /* Data Members */
      
      /* The column in the source text where the error occured. */
      unsigned int    fColumnNumber;
      /* The line in the source text where the error occured. */
      unsigned int    fLineNumber;
      /* The public id of the file where the error occured. */
      XMLCh*          fPublicId;
      /* The system id of the file where the error occured. */
      XMLCh*          fSystemId;
      
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/Attributes.hpp
  
  Index: Attributes.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Attributes.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/05/11 13:26:25  tng
   * Copyright update.
   *
   * Revision 1.4  2001/02/26 19:44:19  tng
   * Schema: add utility class QName, by Pei Yong Zhang.
   *
   * Revision 1.3  2000/08/09 22:19:28  jpolast
   * many conformance & stability changes:
   *   - ContentHandler::resetDocument() removed
   *   - attrs param of ContentHandler::startDocument() made const
   *   - SAXExceptions thrown now have msgs
   *   - removed duplicate function signatures that had 'const'
   *       [ eg: getContentHander() ]
   *   - changed getFeature and getProperty to apply to const objs
   *   - setProperty now takes a void* instead of const void*
   *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore
   *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented
   *   - Features & Properties now read-only during parse
   *
   * Revision 1.2  2000/08/07 18:21:26  jpolast
   * change SAX_EXPORT module to SAX2_EXPORT
   *
   * Revision 1.1  2000/08/02 18:02:34  jpolast
   * initial checkin of sax2 implementation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  #ifndef ATTRIBUTES_HPP
  #define ATTRIBUTES_HPP
  
  #include <util/XercesDefs.hpp>
  
  /**
    * Interface for an element's attribute specifications.
    *
    * The SAX2 parser implements this interface and passes an instance
    * to the SAX2 application as the last argument of each startElement
    * event.
    *
    * The instance provided will return valid results only during the
    * scope of the startElement invocation (to save it for future
    * use, the application must make a copy: the AttributesImpl
    * helper class provides a convenient constructor for doing so).
    *
    * An Attributes includes only attributes that have been
    * specified or defaulted: #IMPLIED attributes will not be included.
    *
    * There are two ways for the SAX application to obtain information
    * from the Attributes.  First, it can iterate through the entire
    * list:
    *
    * <pre>
    * public void startElement (String uri, String localpart, String qName, Attributes atts) {
    *   for (int i = 0; i < atts.getLength(); i++) {
    *     String Qname = atts.getQName(i);
    *		String URI   = atts.getURI(i)
    *		String local = atts.GetLocalName(i)
    *     String type  = atts.getType(i);
    *     String value = atts.getValue(i);
    *     [...]
    *   }
    * }
    * </pre>
    *
    * (Note that the result of getLength() will be zero if there
    * are no attributes.)
    *
    * As an alternative, the application can request the value or
    * type of specific attributes:
    *
    * <pre>
    * public void startElement (String uri, String localpart, String qName, Attributes atts) {
    *   String identifier = atts.getValue("id");
    *   String label = atts.getValue("label");
    *   [...]
    * }
    * </pre>
    *
    * The AttributesImpl helper class provides a convenience
    * implementation for use by parser or application writers.
    *
    * @see Sax2DocumentHandler#startElement
    * @see AttributesImpl#AttributesImpl
    */
  
  class SAX2_EXPORT Attributes
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      Attributes()
      {
      }
  
      /** Destructor */
      virtual ~Attributes()
      {
      }
      //@}
  
      /** @name The virtual attribute list interface */
      //@{
    /**
      * Return the number of attributes in this list.
      *
      * The SAX parser may provide attributes in any
      * arbitrary order, regardless of the order in which they were
      * declared or specified.  The number of attributes may be
      * zero.
      *
      * @return The number of attributes in the list.
      */
      virtual unsigned int getLength() const = 0;
  
    /**
      * Return the namespace URI of an attribute in this list (by position).
      *
      * The QNames must be unique: the SAX parser shall not include the
      * same attribute twice.  Attributes without values (those declared
      * #IMPLIED without a value specified in the start tag) will be
      * omitted from the list.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The URI of the indexed attribute, or null
      *         if the index is out of range.
      * @see #getLength
      */
  	virtual const XMLCh* getURI(const unsigned int index) const = 0;
  
    /**
      * Return the local name of an attribute in this list (by position).
      *
      * The QNames must be unique: the SAX parser shall not include the
      * same attribute twice.  Attributes without values (those declared
      * #IMPLIED without a value specified in the start tag) will be
      * omitted from the list.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The local name of the indexed attribute, or null
      *         if the index is out of range.
      * @see #getLength
      */
      virtual const XMLCh* getLocalName(const unsigned int index) const = 0;
  
    /**
      * Return the qName of an attribute in this list (by position).
      *
      * The QNames must be unique: the SAX parser shall not include the
      * same attribute twice.  Attributes without values (those declared
      * #IMPLIED without a value specified in the start tag) will be
      * omitted from the list.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The qName of the indexed attribute, or null
      *         if the index is out of range.
      * @see #getLength
      */
      virtual const XMLCh* getQName(const unsigned int index) const = 0;
  
    /**
      * Return the type of an attribute in the list (by position).
      *
      * The attribute type is one of the strings "CDATA", "ID",
      * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
      * or "NOTATION" (always in upper case).
      *
      * If the parser has not read a declaration for the attribute,
      * or if the parser does not report attribute types, then it must
      * return the value "CDATA" as stated in the XML 1.0 Recommentation
      * (clause 3.3.3, "Attribute-Value Normalization").
      *
      * For an enumerated attribute that is not a notation, the
      * parser will report the type as "NMTOKEN".
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The attribute type as a string, or
      *         null if the index is out of range.
      * @see #getLength
      * @see #getType(String)
      */
      virtual const XMLCh* getType(const unsigned int index) const = 0;
  
    /**
      * Return the value of an attribute in the list (by position).
      *
      * If the attribute value is a list of tokens (IDREFS,
      * ENTITIES, or NMTOKENS), the tokens will be concatenated
      * into a single string separated by whitespace.
      *
      * @param index The index of the attribute in the list (starting at 0).
      * @return The attribute value as a string, or
      *         null if the index is out of range.
      * @see #getLength
      * @see #getValue(XMLCh*)
      */
      virtual const XMLCh* getValue(const unsigned int index) const = 0;
  
      ////////////////////////////////////////////////////////////////////
      // Name-based query.
      ////////////////////////////////////////////////////////////////////
  
     /**
       * Look up the index of an attribute by Namespace name.
       *
       * @param uri The Namespace URI, or the empty string if
       *        the name has no Namespace URI.
       * @param localName The attribute's local name.
       * @return The index of the attribute, or -1 if it does not
       *         appear in the list.
       */
  	virtual int getIndex(const XMLCh* const uri, const XMLCh* const localPart ) const = 0 ;
  
     /**
       * Look up the index of an attribute by XML 1.0 qualified name.
       *
       * @param qName The qualified (prefixed) name.
       * @return The index of the attribute, or -1 if it does not
       *         appear in the list.
       */
  	virtual int getIndex(const XMLCh* const qName ) const = 0 ;
  
     /**
       * Look up an attribute's type by Namespace name.
       *
       * <p>See #getType for a description of the possible types.</p>
       *
       * @param uri The Namespace URI, or the empty String if the
       *        name has no Namespace URI.
       * @param localName The local name of the attribute.
       * @return The attribute type as a string, or null if the
       *         attribute is not in the list or if Namespace
       *         processing is not being performed.
       */
  	virtual const XMLCh* getType(const XMLCh* const uri, const XMLCh* const localPart ) const = 0 ;
  
     /**
       * Look up an attribute's type by XML 1.0 qualified name.
       *
       * <p>See #getType for a description of the possible types.</p>
       *
       * @param qName The XML 1.0 qualified name.
       * @return The attribute type as a string, or null if the
       *         attribute is not in the list or if qualified names
       *         are not available.
       */
      virtual const XMLCh* getType(const XMLCh* const qName) const = 0;
  
     /**
       * Look up an attribute's value by Namespace name.
       *
       * <p>See #getValue for a description of the possible values.</p>
       *
       * @param uri The Namespace URI, or the empty String if the
       *        name has no Namespace URI.
       * @param localPart The local name of the attribute.
       * @return The attribute value as a string, or null if the
       *         attribute is not in the list.
       */
  	virtual const XMLCh* getValue(const XMLCh* const uri, const XMLCh* const localPart ) const = 0 ;
  
     /**
       * Look up an attribute's value by XML 1.0 qualified name.
       *
       * <p>See #getValue for a description of the possible values.</p>
       *
       * @param qName The XML 1.0 qualified name.
       * @return The attribute value as a string, or null if the
       *         attribute is not in the list or if qualified names
       *         are not available.
       */
      virtual const XMLCh* getValue(const XMLCh* const qName) const = 0;
  
      //@}
  
  private :
      /* Constructors and operators */
      /* Copy constructor */
      Attributes(const Attributes&);
      /* Assignment operator */
      void operator=(const Attributes&);
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/ContentHandler.hpp
  
  Index: ContentHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ContentHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/12/14 18:50:05  tng
   * Fix API document generation warning: "Warning: end of member group without matching begin"
   *
   * Revision 1.3  2000/08/09 22:19:29  jpolast
   * many conformance & stability changes:
   *   - ContentHandler::resetDocument() removed
   *   - attrs param of ContentHandler::startDocument() made const
   *   - SAXExceptions thrown now have msgs
   *   - removed duplicate function signatures that had 'const'
   *       [ eg: getContentHander() ]
   *   - changed getFeature and getProperty to apply to const objs
   *   - setProperty now takes a void* instead of const void*
   *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore
   *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented
   *   - Features & Properties now read-only during parse
   *
   * Revision 1.2  2000/08/07 18:21:27  jpolast
   * change SAX_EXPORT module to SAX2_EXPORT
   *
   * Revision 1.1  2000/08/02 18:02:34  jpolast
   * initial checkin of sax2 implementation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  
  #ifndef CONTENTHANDLER_HPP
  #define CONTENTHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class Attributes;
  class Locator;
  
  /**
    * Receive notification of general document events.
    *
    * <p>This is the main interface that most SAX2 applications
    * implement: if the application needs to be informed of basic parsing 
    * events, it implements this interface and registers an instance with 
    * the SAX2 parser using the setDocumentHandler method.  The parser 
    * uses the instance to report basic document-related events like
    * the start and end of elements and character data.</p>
    *
    * <p>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.</p>
    *
    * <p>Application writers who do not want to implement the entire
    * interface while can derive a class from Sax2HandlerBase, which implements
    * the default functionality; parser writers can instantiate
    * Sax2HandlerBase to obtain a default handler.  The application can find
    * the location of any document event using the Locator interface
    * supplied by the Parser through the setDocumentLocator method.</p>
    *
    * @see Parser#setDocumentHandler
    * @see Locator#Locator
    * @see Sax2HandlerBase#Sax2HandlerBase
    */
  
  class SAX2_EXPORT ContentHandler
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      ContentHandler()
      {
      }
  
      /** Destructor */
      virtual ~ContentHandler()
      {
      }
      //@}
  
      /** @name The virtual document handler interface */
      
      //@{
     /**
      * Receive notification of character data.
      *
      * <p>The Parser will call this method to report each chunk of
      * character data.  SAX parsers may return all contiguous character
      * data in a single chunk, or they may split it into several
      * chunks; however, all of the characters in any single event
      * must come from the same external entity, so that the Locator
      * provides useful information.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * <p>Note that some parsers will report whitespace using the
      * ignorableWhitespace() method rather than this one (validating
      * parsers must do so).</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #ignorableWhitespace 
      * @see Locator#Locator
      */
      virtual void characters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
    /**
      * Receive notification of the end of a document.
      *
      * <p>The SAX parser will invoke this method only once, and it will
      * be the last method invoked during the parse.  The parser shall
      * not invoke this method until it has either abandoned parsing
      * (because of an unrecoverable error) or reached the end of
      * input.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endDocument () = 0;
  
    /**
      * Receive notification of the end of an element.
      *
      * <p>The SAX parser will invoke this method at the end of every
      * element in the XML document; there will be a corresponding
      * startElement() event for every endElement() event (even when the
      * element is empty).</p>
      *
      * @param uri The URI of the asscioated namespace for this element
  	* @param localname The local part of the element name
  	* @param qname The QName of this element
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endElement
  	(
  		const XMLCh* const uri, 
  		const XMLCh* const localname, 
  		const XMLCh* const qname
  	) = 0;
  
    /**
      * Receive notification of ignorable whitespace in element content.
      *
      * <p>Validating Parsers must use this method to report each chunk
      * of ignorable whitespace (see the W3C XML 1.0 recommendation,
      * section 2.10): non-validating parsers may also use this method
      * if they are capable of parsing and using content models.</p>
      *
      * <p>SAX parsers may return all contiguous whitespace in a single
      * chunk, or they may split it into several chunks; however, all of
      * the characters in any single event must come from the same
      * external entity, so that the Locator provides useful
      * information.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #characters
      */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
    /**
      * Receive notification of a processing instruction.
      *
      * <p>The Parser will invoke this method once for each processing
      * instruction found: note that processing instructions may occur
      * before or after the main document element.</p>
      *
      * <p>A SAX parser should never report an XML declaration (XML 1.0,
      * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
      * using this method.</p>
      *
      * @param target The processing instruction target.
      * @param data The processing instruction data, or null if
      *        none was supplied.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void processingInstruction
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      ) = 0;
  
    /**
      * Receive an object for locating the origin of SAX document events.
      *
      * SAX parsers are strongly encouraged (though not absolutely
      * required) to supply a locator: if it does so, it must supply
      * the locator to the application by invoking this method before
      * invoking any of the other methods in the DocumentHandler
      * interface.
      *
      * The locator allows the application to determine the end
      * position of any document-related event, even if the parser is
      * not reporting an error.  Typically, the application will
      * use this information for reporting its own errors (such as
      * character content that does not match an application's
      * business rules). The information returned by the locator
      * is probably not sufficient for use with a search engine.
      *
      * Note that the locator will return correct information only
      * during the invocation of the events in this interface. The
      * application should not attempt to use it at any other time.
      *
      * @param locator An object that can return the location of
      *                any SAX document event. The object is only
      *                'on loan' to the client code and they are not
      *                to attempt to delete or modify it in any way!
      *
      * @see Locator#Locator
      */
      virtual void setDocumentLocator(const Locator* const locator) = 0;
  
    /**
      * Receive notification of the beginning of a document.
      *
      * <p>The SAX parser will invoke this method only once, before any
      * other methods in this interface or in DTDHandler (except for
      * setDocumentLocator).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startDocument() = 0;
  
    /**
      * Receive notification of the beginning of an element.
      *
      * <p>The Parser will invoke this method at the beginning of every
      * element in the XML document; there will be a corresponding
      * endElement() event for every startElement() event (even when the
      * element is empty). All of the element's content will be
      * reported, in order, before the corresponding endElement()
      * event.</p>
      *
      * <p>Note that the attribute list provided will
      * contain only attributes with explicit values (specified or
      * defaulted): #IMPLIED attributes will be omitted.</p>
      *
      * @param uri The URI of the asscioated namespace for this element
  	* @param localname The local part of the element name
  	* @param qname The QName of this element
      * @param attrs The attributes attached to the element, if any.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see #endElement
      * @see Attributes#Attributes
      */
      virtual void startElement
      (
          const   XMLCh* const    uri,
          const   XMLCh* const    localname,
          const   XMLCh* const    qname,
          const   Attributes&     attrs
      ) = 0;
  
    /**
      * Receive notification of the start of an namespace prefix mapping.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the start of
      * each namespace prefix mapping.</p>
      *
      * @param prefix The namespace prefix used
      * @param uri The namespace URI used.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
  	virtual void startPrefixMapping
  	( 
  		const	XMLCh* const	prefix,
  		const	XMLCh* const	uri
  	) = 0 ;
  
    /**
      * Receive notification of the end of an namespace prefix mapping.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the end of
      * each namespace prefix mapping.</p>
      *
      * @param prefix The namespace prefix used
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
  	virtual void endPrefixMapping
  	(
  		const	XMLCh* const	prefix
  	) = 0 ;
  
    /**
      * Receive notification of a skipped entity
      *
      * <p>The parser will invoke this method once for each entity
  	* skipped.  All processors may skip external entities,
  	* depending on the values of the features:<br>
  	* http://xml.org/sax/features/external-general-entities<br>
  	* http://xml.org/sax/features/external-parameter-entities</p>
  	*
  	* <p>Note: Xerces (specifically) never skips any entities, regardless
  	* of the above features.  This function is never called in the
  	* Xerces implementation of SAX2.</p>
      *
  	* <p>Introduced with SAX2</p>
  	*
      * @param name The name of the skipped entity.  If it is a parameter entity, 
  	* the name will begin with %, and if it is the external DTD subset, 
  	* it will be the string [dtd].
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
  	virtual void skippedEntity
  	(
  		const	XMLCh* const	name
  	) = 0 ;
  
      //@}
  private :
      /* Unimplemented Constructors and operators */
      /* Copy constructor */
      ContentHandler(const ContentHandler&);
      /** Assignment operator */
      void operator=(const ContentHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/DefaultHandler.hpp
  
  Index: DefaultHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DefaultHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/12/22 15:17:01  tng
   * SAX2-ext's LexicalHandler support added by David Bertoni.
   *
   * Revision 1.3  2000/08/14 18:56:14  aruna1
   * Virtual parameter inconsistency fixed
   *
   * Revision 1.2  2000/08/07 18:21:27  jpolast
   * change SAX_EXPORT module to SAX2_EXPORT
   *
   * Revision 1.1  2000/08/02 18:02:34  jpolast
   * initial checkin of sax2 implementation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  
  #ifndef DEFAULTHANDLER_HPP
  #define DEFAULTHANDLER_HPP
  
  #include <sax2/ContentHandler.hpp>
  #include <sax2/LexicalHandler.hpp>
  #include <sax/DTDHandler.hpp>
  #include <sax/EntityResolver.hpp>
  #include <sax/ErrorHandler.hpp>
  #include <sax/SAXParseException.hpp>
  
  class Locator;
  class Attributes;
  
  /**
    * Default base class for SAX2 handlers.
    *
    * <p>This class implements the default behaviour for four SAX2
    * interfaces: EntityResolver, DTDHandler, Sax2DocumentHandler,
    * and ErrorHandler.</p>
    *
    * <p>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.</p>
    *
    * <p>Note that the use of this class is optional.</p>
    *
    * @see EntityResolver#EntityResolver
    * @see DTDHandler#DTDHandler
    * @see ContentHandler#ContentHandler
    * @see ErrorHandler#ErrorHandler
    */
  
  class SAX2_EXPORT DefaultHandler :
  
      public EntityResolver, 
  	public DTDHandler, 
  	public ContentHandler, 
     public ErrorHandler,
     public LexicalHandler
  {
  public:
    /** @name Default handlers for the DocumentHandler interface */
      //@{
    /**
      * Receive notification of character data inside an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method to take specific actions for each chunk of character data
      * (such as adding the data to a node or buffer, or printing it to
      * a file).</p>
      *
      * @param chars The characters.
      * @param length The number of characters to use from the
      *               character array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#characters
      */
      virtual void characters
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
    /**
      * Receive notification of the end of the document.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the beginning
      * of a document (such as finalising a tree or closing an output
      * file).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#endDocument
      */
      virtual void endDocument();
  
    /**
      * Receive notification of the end of an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the end of
      * each element (such as finalising a tree node or writing
      * output to a file).</p>
      *
      * @param uri The URI of the asscioated namespace for this element
  	* @param localname The local part of the element name
  	* @param qname The QName of this element
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#endElement
      */
      virtual void endElement
  	(
  		const XMLCh* const uri, 
  		const XMLCh* const localname, 
  		const XMLCh* const qname
  	);
  
    /**
      * Receive notification of ignorable whitespace in element content.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method to take specific actions for each chunk of ignorable
      * whitespace (such as adding data to a node or buffer, or printing
      * it to a file).</p>
      *
      * @param chars The whitespace characters.
      * @param length The number of characters to use from the
      *               character array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#ignorableWhitespace
      */
      virtual void ignorableWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
    /**
      * Receive notification of a processing instruction.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions for each
      * processing instruction, such as setting status variables or
      * invoking other methods.</p>
      *
      * @param target The processing instruction target.
      * @param data The processing instruction data, or null if
      *             none is supplied.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#processingInstruction
      */
      virtual void processingInstruction
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      );
  
      /**
      * Reset the Docuemnt object on its reuse
      *
      * @see DocumentHandler#resetDocument
      */
      virtual void resetDocument();
      //@}
  
      /** @name Default implementation of DocumentHandler interface */
  
      //@{
    /**
      * Receive a Locator object for document events.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass if they wish to store the locator for use
      * with other document events.</p>
      *
      * @param locator A locator for all SAX document events.
      * @see DocumentHandler#setDocumentLocator
      * @see Locator
      */
      virtual void setDocumentLocator(const Locator* const locator);
  
    /**
      * Receive notification of the beginning of the document.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the beginning
      * of a document (such as allocating the root node of a tree or
      * creating an output file).</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#startDocument
      */
      virtual void startDocument();
  
    /**
      * Receive notification of the start of an element.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the start of
      * each element (such as allocating a new tree node or writing
      * output to a file).</p>
      *
      * @param uri The URI of the asscioated namespace for this element
  	* @param localname the local part of the element name
  	* @param qname the QName of this element
      * @param attributes The specified or defaulted attributes.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#startElement
      */
      virtual void startElement
      (
          const   XMLCh* const    uri,
          const   XMLCh* const    localname,
          const   XMLCh* const    qname
          , const Attributes&	attrs
      );
  
    /**
      * Receive notification of the start of an namespace prefix mapping.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the start of
      * each namespace prefix mapping.</p>
      *
  	* NOTE : The current Implementation of SAX2Parser will _NEVER_ call this
  	*
      * @param prefix The namespace prefix used
      * @param uri The namespace URI used.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#startPrefixMapping
      */
  	virtual void startPrefixMapping
  	( 
  		const	XMLCh* const	prefix,
  		const	XMLCh* const	uri
  	) ;
  
    /**
      * Receive notification of the end of an namespace prefix mapping.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to take specific actions at the end of
      * each namespace prefix mapping.</p>
      *
  	* NOTE : The current Implementation of SAX2Parser will _NEVER_ call this
  	*
      * @param prefix The namespace prefix used
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see DocumentHandler#endPrefixMapping
      */
  	virtual void endPrefixMapping
  	(
  		const	XMLCh* const	prefix
  	) ;
  
    /**
      * Receive notification of a skipped entity
      *
      * <p>The parser will invoke this method once for each entity
  	* skipped.  All processors may skip external entities,
  	* depending on the values of the features:<br>
  	* http://xml.org/sax/features/external-general-entities<br>
  	* http://xml.org/sax/features/external-parameter-entities</p>
      *
  	* <p>Introduced with SAX2</p>
  	*
      * @param name The name of the skipped entity.  If it is a parameter entity, 
  	* the name will begin with %, and if it is the external DTD subset, 
  	* it will be the string [dtd].
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
  	virtual void skippedEntity
  	(
  		const	XMLCh* const	name
  	) ;
  
      //@}
  
      /** @name Default implementation of the EntityResolver interface. */
  
      //@{
    /**
      * Resolve an external entity.
      *
      * <p>Always return null, so that the parser will use the system
      * identifier provided in the XML document.  This method implements
      * the SAX default behaviour: application writers can override it
      * in a subclass to do special translations such as catalog lookups
      * or URI redirection.</p>
      *
      * @param publicId The public identifer, or null if none is
      *                 available.
      * @param systemId The system identifier provided in the XML 
      *                 document.
      * @return The new input source, or null to require the
      *         default behaviour.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see EntityResolver#resolveEntity
      */
      virtual InputSource* resolveEntity
      (
          const   XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      //@}
  
      /** @name Default implementation of the ErrorHandler interface */
      //@{
     /**
      * Receive notification of a recoverable parser error.
      *
      * <p>The default implementation does nothing.  Application writers
      * may override this method in a subclass to take specific actions
      * for each error, such as inserting the message in a log file or
      * printing it to the console.</p>
      *
      * @param exception The warning information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#warning
      * @see SAXParseException#SAXParseException
      */
      virtual void error(const SAXParseException& exception);
  
    /**
      * Report a fatal XML parsing error.
      *
      * <p>The default implementation throws a SAXParseException.
      * Application writers may override this method in a subclass if
      * they need to take specific actions for each fatal error (such as
      * collecting all of the errors into a single report): in any case,
      * the application must stop all regular processing when this
      * method is invoked, since the document is no longer reliable, and
      * the parser may no longer report parsing events.</p>
      *
      * @param e The error information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#fatalError
      * @see SAXParseException#SAXParseException
      */
      virtual void fatalError(const SAXParseException& exception);
  
    /**
      * Receive notification of a parser warning.
      *
      * <p>The default implementation does nothing.  Application writers
      * may override this method in a subclass to take specific actions
      * for each warning, such as inserting the message in a log file or
      * printing it to the console.</p>
      *
      * @param e The warning information encoded as an exception.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @see ErrorHandler#warning
      * @see SAXParseException#SAXParseException
      */
      virtual void warning(const SAXParseException& exception);
  
      /**
      * Reset the Error handler object on its reuse
      *
      * @see ErrorHandler#resetErrors
      */
      virtual void resetErrors();
  
      //@}
  
  
      /** @name Default implementation of DTDHandler interface. */
      //@{
  
    /**
      * Receive notification of a notation declaration.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass if they wish to keep track of the notations
      * declared in a document.</p>
      *
      * @param name The notation name.
      * @param publicId The notation public identifier, or null if not
      *                 available.
      * @param systemId The notation system identifier.
      * @see DTDHandler#notationDecl
      */
      virtual void notationDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
      );
  
      /**
      * Reset the DTD object on its reuse
      *
      * @see DTDHandler#resetDocType
      */
      virtual void resetDocType();
  
    /**
      * Receive notification of an unparsed entity declaration.
      *
      * <p>By default, do nothing.  Application writers may override this
      * method in a subclass to keep track of the unparsed entities
      * declared in a document.</p>
      *
      * @param name The entity name.
      * @param publicId The entity public identifier, or null if not
      *                 available.
      * @param systemId The entity system identifier.
      * @param notationName The name of the associated notation.
      * @see DTDHandler#unparsedEntityDecl
      */
      virtual void unparsedEntityDecl
      (
          const   XMLCh* const    name
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const XMLCh* const    notationName
      );
      //@}
  
  
      /** @name Default implementation of LexicalHandler interface. */
  
      //@{
     /**
      * Receive notification of comments.
      *
      * <p>The Parser will call this method to report each occurence of
      * a comment in the XML document.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void comment
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      );
  
    /**
      * Receive notification of the end of a CDATA section.
      *
      * <p>The SAX parser will invoke this method at the end of
      * each CDATA parsed.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endCDATA ();
  
    /**
      * Receive notification of the end of the DTD declarations.
      *
      * <p>The SAX parser will invoke this method at the end of the
      * DTD</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endDTD ();
  
    /**
      * Receive notification of the end of an entity.
      *
      * <p>The SAX parser will invoke this method at the end of an
      * entity</p>
      *
      * @param name The name of the entity that is ending.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endEntity (const XMLCh* const name);
  
    /**
      * Receive notification of the start of a CDATA section.
      *
      * <p>The SAX parser will invoke this method at the start of
      * each CDATA parsed.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startCDATA ();
  
    /**
      * Receive notification of the start of the DTD declarations.
      *
      * <p>The SAX parser will invoke this method at the start of the
      * DTD</p>
      *
      * @param name The document type name.
      * @param publicId The declared public identifier for the external DTD subset, or null if none was declared.
      * @param systemId The declared system identifier for the external DTD subset, or null if none was declared.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startDTD
      (
          const   XMLCh* const    name
          , const   XMLCh* const    publicId
          , const   XMLCh* const    systemId
      );
  
    /**
      * Receive notification of the start of an entity.
      *
      * <p>The SAX parser will invoke this method at the start of an
      * entity</p>
      *
      * @param name The name of the entity that is starting.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startEntity (const XMLCh* const name);
  
      //@}
  };
  
  
  // ---------------------------------------------------------------------------
  //  HandlerBase: Inline default implementations
  // ---------------------------------------------------------------------------
  inline void DefaultHandler::characters(const   XMLCh* const    chars
                                         ,const   unsigned int    length)
  {
  }
  
  inline void DefaultHandler::endDocument()
  {
  }
  
  inline void DefaultHandler::endElement(const	XMLCh* const uri
  										, const XMLCh* const localname
  										, const XMLCh* const qname)
  {
  }
  
  inline void DefaultHandler::error(const SAXParseException& exception)
  {
  }
  
  inline void DefaultHandler::fatalError(const SAXParseException& exception)
  {
      throw exception;
  }
  
  inline void
  DefaultHandler::ignorableWhitespace( const   XMLCh* const	chars
                                      , const unsigned int	length)
  {
  }
  
  inline void DefaultHandler::notationDecl(  const   XMLCh* const name
  											, const XMLCh* const publicId
  											, const XMLCh* const systemId)
  {
  }
  
  inline void
  DefaultHandler::processingInstruction( const   XMLCh* const target
  										, const XMLCh* const data)
  {
  }
  
  inline void DefaultHandler::resetErrors()
  {
  }
  
  inline void DefaultHandler::resetDocument()
  {
  }
  
  inline void DefaultHandler::resetDocType()
  {
  }
  
  inline InputSource*
  DefaultHandler::resolveEntity( const   XMLCh* const publicId
  								, const XMLCh* const systemId)
  {
      return 0;
  }
  
  inline void
  DefaultHandler::unparsedEntityDecl(const   XMLCh* const name
  									, const XMLCh* const publicId
  									, const XMLCh* const systemId
  									, const XMLCh* const notationName)
  {
  }
  
  inline void DefaultHandler::setDocumentLocator(const Locator* const locator)
  {
  }
  
  inline void DefaultHandler::startDocument()
  {
  }
  
  inline void
  DefaultHandler::startElement(  const     XMLCh* const  uri
  								, const   XMLCh* const  localname
  								, const   XMLCh* const  qname
  								, const   Attributes&		attrs
  )
  {
  }
  
  inline void DefaultHandler::warning(const SAXParseException& exception)
  {
  }
  
  inline void DefaultHandler::startPrefixMapping ( const	XMLCh* const	prefix
  												,const	XMLCh* const	uri)
  {
  }
  
  inline void DefaultHandler::endPrefixMapping ( const	XMLCh* const	prefix )
  {
  }
  
  inline void DefaultHandler::skippedEntity ( const	XMLCh* const	name )
  {
  }
  
  inline void DefaultHandler::comment(  const   XMLCh* const    chars
                                         , const unsigned int    length)
  {
  }
  
  inline void DefaultHandler::endCDATA ()
  {
  }
  
  inline void DefaultHandler::endDTD ()
  {
  }
  
  inline void DefaultHandler::endEntity (const XMLCh* const name)
  {
  }
  
  inline void DefaultHandler::startCDATA ()
  {
  }
  
  inline void DefaultHandler::startDTD(  const   XMLCh* const    name
                                          , const   XMLCh* const publicId
                                          , const   XMLCh* const systemId)
  {
  }
  
  inline void DefaultHandler::startEntity (const XMLCh* const name)
  {
  }
  
  #endif // ! DEFAULTHANDLER_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/LexicalHandler.hpp
  
  Index: LexicalHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: LexicalHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2000/12/22 15:17:04  tng
   * SAX2-ext's LexicalHandler support added by David Bertoni.
   *
   *
   */
  
  
  #ifndef LEXICALHANDLER_HPP
  #define LEXICALHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  /**
    * Receive notification of lexical events.
    *
    * <p>This is an extension handler for that provides lexical information
    * about an XML document.  It does not provide information about document
    * content.  For those events, an application must register an instance of
    * a ContentHandler.</p>
    *
    * <p>The order of events in this interface is very important, and
    * mirrors the order of information in the document itself.  For
    * example, startDTD() and endDTD() events will occur before the
    * first element in the document.</p>
    *
    * @see SAX2XMLReader#setLexicalHandler
    * @see SAX2XMLReader#setContentHandler
    */
  
  class SAX2_EXPORT LexicalHandler
  {
  public:
      /** @name Constructors and Destructor */
      //@{
      /** Default constructor */
      LexicalHandler()
      {
      }
  
      /** Destructor */
      virtual ~LexicalHandler()
      {
      }
      //@}
  
      /** @name The virtual document handler interface */
      
      //@{
     /**
      * Receive notification of comments.
      *
      * <p>The Parser will call this method to report each occurence of
      * a comment in the XML document.</p>
      *
      * <p>The application must not attempt to read from the array
      * outside of the specified range.</p>
      *
      * @param chars The characters from the XML document.
      * @param length The number of characters to read from the array.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void comment
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
    /**
      * Receive notification of the end of a CDATA section.
      *
      * <p>The SAX parser will invoke this method at the end of
      * each CDATA parsed.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endCDATA () = 0;
  
    /**
      * Receive notification of the end of the DTD declarations.
      *
      * <p>The SAX parser will invoke this method at the end of the
      * DTD</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endDTD () = 0;
  
    /**
      * Receive notification of the end of an entity.
      *
      * <p>The SAX parser will invoke this method at the end of an
      * entity</p>
      *
      * @param name The name of the entity that is ending.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void endEntity (const XMLCh* const name) = 0;
  
    /**
      * Receive notification of the start of a CDATA section.
      *
      * <p>The SAX parser will invoke this method at the start of
      * each CDATA parsed.</p>
      *
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startCDATA () = 0;
  
    /**
      * Receive notification of the start of the DTD declarations.
      *
      * <p>The SAX parser will invoke this method at the start of the
      * DTD</p>
      *
      * @param name The document type name.
      * @param publicId The declared public identifier for the external DTD subset, or null if none was declared.
      * @param systemId The declared system identifier for the external DTD subset, or null if none was declared.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startDTD
      (
          const   XMLCh* const    name
          , const   XMLCh* const    publicId
          , const   XMLCh* const    systemId
      ) = 0;
  
    /**
      * Receive notification of the start of an entity.
      *
      * <p>The SAX parser will invoke this method at the start of an
      * entity</p>
      *
      * @param name The name of the entity that is starting.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      */
      virtual void startEntity (const XMLCh* const name) = 0;
  
      //@}
  private :
      /* Unimplemented Constructors and operators */
      /* Copy constructor */
      LexicalHandler(const LexicalHandler&);
      /** Assignment operator */
      void operator=(const LexicalHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/SAX2XMLReader.hpp
  
  Index: SAX2XMLReader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SAX2XMLReader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/09/12 13:03:43  tng
   * [Bug 3155] SAX2 does not offer progressive parse.
   *
   * Revision 1.11  2001/08/01 19:11:02  tng
   * Add full schema constraint checking flag to the samples and the parser.
   *
   * Revision 1.10  2001/06/27 17:40:16  knoaman
   * Fix for bug #2353.
   *
   * Revision 1.9  2001/06/19 16:44:31  tng
   * Add installAdvDocHandler to SAX2XMLReader as the code is there already.
   *
   * Revision 1.8  2001/06/04 21:03:07  jberry
   * Add pure virtual getErrorCount to SAX2XMLReader interface.
   *
   * Revision 1.7  2001/05/11 13:26:25  tng
   * Copyright update.
   *
   * Revision 1.6  2001/02/15 15:56:31  tng
   * Schema: Add setSchemaValidation and getSchemaValidation for DOMParser and SAXParser.
   * Add feature "http://apache.org/xml/features/validation/schema" for SAX2XMLReader.
   * New data field  fSchemaValidation in XMLScanner as the flag.
   *
   * Revision 1.5  2001/01/12 21:22:00  tng
   * Documentation Enhancement: Add list of SAX2 feature strings that are supported.
   *
   * Revision 1.4  2000/12/22 15:17:04  tng
   * SAX2-ext's LexicalHandler support added by David Bertoni.
   *
   * Revision 1.3  2000/08/09 22:19:29  jpolast
   * many conformance & stability changes:
   *   - ContentHandler::resetDocument() removed
   *   - attrs param of ContentHandler::startDocument() made const
   *   - SAXExceptions thrown now have msgs
   *   - removed duplicate function signatures that had 'const'
   *       [ eg: getContentHander() ]
   *   - changed getFeature and getProperty to apply to const objs
   *   - setProperty now takes a void* instead of const void*
   *   - SAX2XMLReaderImpl does not inherit from SAXParser anymore
   *   - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented
   *   - Features & Properties now read-only during parse
   *
   * Revision 1.2  2000/08/07 18:21:27  jpolast
   * change SAX_EXPORT module to SAX2_EXPORT
   *
   * Revision 1.1  2000/08/02 18:02:35  jpolast
   * initial checkin of sax2 implementation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  #ifndef SAX2XMLReader_HPP
  #define SAX2XMLReader_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <framework/XMLValidator.hpp>
  #include <framework/XMLPScanToken.hpp>
  
  class ContentHandler ;
  class DTDHandler;
  class EntityResolver;
  class ErrorHandler;
  class InputSource;
  class LexicalHandler;
  class XMLDocumentHandler;
  
  class SAX2_EXPORT SAX2XMLReader
  {
  public:
  
      enum ValSchemes
      {
          Val_Never
          , Val_Always
          , Val_Auto
      };
  
      /** @name Constructors and Destructor */
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      //@{
      /** The default constructor */
      SAX2XMLReader()
      {
      }
      /** The destructor */
      virtual ~SAX2XMLReader()
      {
      }
      //@}
  
      //-----------------------------------------------------------------------
      // The XMLReader interface
      //-----------------------------------------------------------------------
      /** @name The XMLReader interfaces */
      //@{
  
      /** Get error count from the last parse operation.
        *
        * This method returns the error count from the last parse
        * operation. Note that this count is actually stored in the
        * scanner, so this method simply returns what the
        * scanner reports.
        *
        * @return number of errors encountered during the latest
        *			parse operation.
        */
      virtual int getErrorCount() const = 0 ;
  
      /**
        * This method returns the installed content handler.
        *
        * @return A pointer to the installed content handler object.
        */
      virtual ContentHandler* getContentHandler() const = 0 ;
  
      /**
        * This method returns the installed DTD handler.
        *
        * @return A pointer to the installed DTD handler object.
        */
      virtual DTDHandler* getDTDHandler() const = 0;
  
      /**
        * This method returns the installed entity resolver.
        *
        * @return A pointer to the installed entity resolver object.
        */
      virtual EntityResolver* getEntityResolver() const = 0 ;
  
      /**
        * This method returns the installed error handler.
        *
        * @return A pointer to the installed error handler object.
        */
      virtual ErrorHandler* getErrorHandler() const = 0 ;
  
  	/**
        * This method returns the installed lexical handler.
        *
        * @return A pointer to the installed lexical handler object.
        */
      virtual LexicalHandler* getLexicalHandler() const = 0 ;
  
  	/**
       * Query the current state of any feature in a SAX2 XMLReader.
  	  *
  	  * @param name The unique identifier (URI) of the feature being set.
  	  * @return The current state of the feature.
       * @exception SAXNotRecognizedException If the requested feature is not known.
  	  */
  	virtual bool getFeature(const XMLCh* const name) const = 0;
  
  	/**
       * Query the current value of a property in a SAX2 XMLReader.
       *
       * @param name The unique identifier (URI) of the property being set.
       * @return The current value of the property.
       * @exception SAXNotRecognizedException If the requested property is not known.
       */
  	virtual void* getProperty(const XMLCh* const name) const = 0 ;
  
      /**
        * This method returns the state of the parser's
        * exit-on-First-Fatal-Error flag.
        *
        * @return true, if the parser is currently configured to
        *         exit on the first fatal error, false otherwise.
        *
        * @see #setExitOnFirstFatalError
        */
      virtual bool getExitOnFirstFatalError() const = 0;
  
      /**
        * This method returns the state of the parser's
        * validation-constraint-fatal flag.
        *
        * @return true, if the parser is currently configured to
        *         set validation constraint errors as fatal, false
        *         otherwise.
        *
        * @see #setValidationContraintFatal
        */
      virtual bool getValidationConstraintFatal() const = 0;
  
  
    /**
      * Parse an XML document.
      *
      * The application can use this method to instruct the SAX parser
      * to begin parsing an XML document from any valid input
      * source (a character stream, a byte stream, or a URI).
      *
      * Applications may not invoke this method while a parse is in
      * progress (they should create a new Parser instead for each
      * additional XML document).  Once a parse is complete, an
      * application may reuse the same Parser object, possibly with a
      * different input source.
      *
      * @param source The input source for the top-level of the
      *               XML document.
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see InputSource#InputSource
      * @see #setEntityResolver
      * @see #setDTDHandler
      * @see #setDocumentHandler
      * @see #setErrorHandler
      */
      virtual void parse
      (
          const   InputSource&    source
      ) = 0;
  
    /**
      * Parse an XML document from a system identifier (URI).
      *
      * This method is a shortcut for the common case of reading a
      * document from a system identifier.  It is the exact equivalent
      * of the following:
      *
      * parse(new URLInputSource(systemId));
      *
      * If the system identifier is a URL, it must be fully resolved
      * by the application before it is passed to the parser.
      *
      * @param systemId The system identifier (URI).
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see #parse(InputSource)
      */
      virtual void parse
      (
          const   XMLCh* const    systemId
      ) = 0;
  
    /**
      * Parse an XML document from a system identifier (URI).
      *
      * This method is a shortcut for the common case of reading a
      * document from a system identifier.  It is the exact equivalent
      * of the following:
      *
      * parse(new URLInputSource(systemId));
      *
      * If the system identifier is a URL, it must be fully resolved
      * by the application before it is passed to the parser.
      *
      * @param systemId The system identifier (URI).
      * @exception SAXException Any SAX exception, possibly
      *            wrapping another exception.
      * @exception XMLException An exception from the parser or client
      *            handler code.
      * @see #parse(InputSource)
      */
      virtual void parse
      (
          const   char* const     systemId
      ) = 0;
  	
    /**
      * Allow an application to register a document event handler.
      *
      * If the application does not register a document handler, all
      * document events reported by the SAX parser will be silently
      * ignored (this is the default behaviour implemented by
      * HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The document handler.
      * @see DocumentHandler#DocumentHandler
      * @see HandlerBase#HandlerBase
      */
      virtual void setContentHandler(ContentHandler* const handler) = 0;
  
    /**
      * Allow an application to register a DTD event handler.
      *
      * If the application does not register a DTD handler, all DTD
      * events reported by the SAX parser will be silently ignored (this
      * is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the middle
      * of a parse, and the SAX parser must begin using the new handler
      * immediately.
      *
      * @param handler The DTD handler.
      * @see DTDHandler#DTDHandler
      * @see HandlerBase#HandlerBase
      */
      virtual void setDTDHandler(DTDHandler* const handler) = 0;
  
    /**
      * Allow an application to register a custom entity resolver.
      *
      * If the application does not register an entity resolver, the
      * SAX parser will resolve system identifiers and open connections
      * to entities itself (this is the default behaviour implemented in
      * DefaultHandler).
      *
      * Applications may register a new or different entity resolver
      * in the middle of a parse, and the SAX parser must begin using
      * the new resolver immediately.
      *
      * @param resolver The object for resolving entities.
      * @see EntityResolver#EntityResolver
      * @see DefaultHandler#DefaultHandler
      */
      virtual void setEntityResolver(EntityResolver* const resolver) = 0;
  
    /**
      * Allow an application to register an error event handler.
      *
      * If the application does not register an error event handler,
      * all error events reported by the SAX parser will be silently
      * ignored, except for fatalError, which will throw a SAXException
      * (this is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The error handler.
      * @see ErrorHandler#ErrorHandler
      * @see SAXException#SAXException
      * @see HandlerBase#HandlerBase
      */
      virtual void setErrorHandler(ErrorHandler* const handler) = 0;
  
     /**
      * Allow an application to register a lexical event handler.
      *
      * If the application does not register a lexical handler,
      * all events reported by the SAX parser will be silently
      * ignored. (this is the default behaviour implemented by HandlerBase).
      *
      * Applications may register a new or different handler in the
      * middle of a parse, and the SAX parser must begin using the new
      * handler immediately.
      *
      * @param handler The error handler.
      * @see LexicalHandler#LexicalHandler
      * @see SAXException#SAXException
      * @see HandlerBase#HandlerBase
      */
      virtual void setLexicalHandler(LexicalHandler* const handler) = 0;
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters the first fatal error. If set to true, the parser
        * will exit at the first fatal error. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'true' and the parser exits on the
        * first fatal error.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters the first
        *                 fatal error.
        *
        * @see #getExitOnFirstFatalError
        */
      virtual void setExitOnFirstFatalError(const bool newState) = 0;
  
      /**
        * This method allows users to set the parser's behaviour when it
        * encounters a validtion constraint error. If set to true, and the
        * the parser is set to exit when it encounter the first fatal error,
        * the parser will exit at the first encounter. If false, then it will
        * report the error and continue processing.
        *
        * <p>The default value is 'false'.</p>
        *
        * @param newState The value specifying whether the parser should
        *                 continue or exit when it encounters a validation
        *                 constraint error.
        *
        * @see #getValidationConstraintFatal
        */
      virtual void setValidationConstraintFatal(const bool newState) = 0;
  
    /**
      * Set the state of any feature in a SAX2 XMLReader.
      * Supported features in SAX2 for xerces-c are:
      *
      * <br>http://xml.org/sax/features/validation (default: true)
      * <br>http://xml.org/sax/features/namespaces (default: true)
      * <br>http://xml.org/sax/features/namespace-prefixes (default: true)
      * <br>http://apache.org/xml/features/validation/dynamic (default: false)
      * <br>http://apache.org/xml/features/validation/reuse-validator (default: false)
      * <br>http://apache.org/xml/features/validation/schema (default: true)
      * <br>http://apache.org/xml/features/validation/schema-full-checking (default: false)
      *
      * @param name The unique identifier (URI) of the feature.
      * @param value The requested state of the feature (true or false).
      * @exception SAXNotRecognizedException If the requested feature is not known.
      * @exception SAXNotSupportedException Property modification is not supported during parse
      *
      */
  	virtual void setFeature(const XMLCh* const name, const bool value) = 0;
  
    /**
      * Set the value of any property in a SAX2 XMLReader.
      * Supported property in SAX2 for xerces-c are:
      *
      * <br>none
      *
      * @param name The unique identifier (URI) of the property being set.
      * @param value The requested value for the property.
      * @exception SAXNotRecognizedException If the requested property is not known.
      * @exception SAXNotSupportedException Property modification is not supported during parse
      */
  	virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
  
      //@}
  
      // -----------------------------------------------------------------------
      //  Progressive scan methods
      // -----------------------------------------------------------------------
  
      /** @name Progressive scan methods */
      //@{
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a Unicode string represting the path
        *                 to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could parse the
        *         prolog (which means the token will not be valid.)
        *
        * @see #parseNext
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseFirst
      (
          const   XMLCh* const    systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      ) = 0;
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param systemId A pointer to a regular native string represting
        *                 the path to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consIstency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseFirst
      (
          const   char* const     systemId
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      ) = 0;
  
      /** Begin a progressive parse operation
        *
        * This method is used to start a progressive parse on a XML file.
        * To continue parsing, subsequent calls must be to the parseNext
        * method.
        *
        * It scans through the prolog and returns a token to be used on
        * subsequent scanNext() calls. If the return value is true, then the
        * token is legal and ready for further use. If it returns false, then
        * the scan of the prolog failed and the token is not going to work on
        * subsequent scanNext() calls.
        *
        * @param source   A const reference to the InputSource object which
        *                 points to the XML file to be parsed.
        * @param toFill   A token maintaing state information to maintain
        *                 internal consistency between invocation of 'parseNext'
        *                 calls.
        * @param reuseGrammar The flag indicating whether the existing Grammar
        *                     should be reused or not for this parsing run.
        *                     If true, there cannot be any internal subset.
        *
        * @return 'true', if successful in parsing the prolog. It indicates the
        *         user can go ahead with parsing the rest of the file. It
        *         returns 'false' to indicate that the parser could not parse
        *         the prolog.
        *
        * @see #parseNext
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        */
      virtual bool parseFirst
      (
          const   InputSource&    source
          ,       XMLPScanToken&  toFill
          , const bool            reuseGrammar = false
      ) = 0;
  
      /** Continue a progressive parse operation
        *
        * This method is used to continue with progressive parsing of
        * XML files started by a call to 'parseFirst' method.
        *
        * It parses the XML file and stops as soon as it comes across
        * a XML token (as defined in the XML specification). Relevant
        * callback handlers are invoked as required by the SAX
        * specification.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        *
        * @return 'true', if successful in parsing the next XML token.
        *         It indicates the user can go ahead with parsing the rest
        *         of the file. It returns 'false' to indicate that the parser
        *         could not find next token as per the XML specification
        *         production rule.
        *
        * @see #parseFirst(XMLCh*,...)
        * @see #parseFirst(char*,...)
        * @see #parseFirst(InputSource&,...)
        */
      virtual bool parseNext(XMLPScanToken& token) = 0;
  
      /** Reset the parser after a progressive parse
        *
        * If a progressive parse loop exits before the end of the document
        * is reached, the parser has no way of knowing this. So it will leave
        * open any files or sockets or memory buffers that were in use at
        * the time that the parse loop exited.
        *
        * The next parse operation will cause these open files and such to
        * be closed, but the next parse operation might occur at some unknown
        * future point. To avoid this problem, you should reset the parser if
        * you exit the loop early.
        *
        * If you exited because of an error, then this cleanup will be done
        * for you. Its only when you exit the file prematurely of your own
        * accord, because you've found what you wanted in the file most
        * likely.
        *
        * @param token A token maintaing state information to maintain
        *              internal consistency between invocation of 'parseNext'
        *              calls.
        */
      virtual void parseReset(XMLPScanToken& token) = 0;
  
      //@}
  
  
      // -----------------------------------------------------------------------
      //  Validator: setters and getters
      // -----------------------------------------------------------------------
      /** @name Validator: setters and getters (Xerces-C specific) */
      //@{
      /**
  	  * This method is used to set a validator.
  	  *
  	  * <b>SAX2XMLReader assumes responsibility for the validator.  It will be
  	  * deleted when the XMLReader is destroyed.</b>
  	  *
  	  * @param valueToAdopt A pointer to the validator that the reader should use.
  	  *
  	  */
  	virtual void setValidator(XMLValidator* valueToAdopt) = 0;
  
      /**
  	  * This method is used to get the current validator.
  	  *
  	  * <b>SAX2XMLReader assumes responsibility for the validator.  It will be
  	  * deleted when the XMLReader is destroyed.</b>
  	  *
  	  * @return A pointer to the validator.  An application should not deleted
  	  * the object returned.
  	  *
  	  */
  	virtual XMLValidator* getValidator() const = 0;
      //@}
  
      // -----------------------------------------------------------------------
      //  Advanced document handler list maintenance methods
      // -----------------------------------------------------------------------
  
      /** @name Advanced document handler list maintenance methods */
      //@{
      /**
        * This method installs the specified 'advanced' document callback
        * handler, thereby allowing the user to customize the processing,
        * if they choose to do so. Any number of advanced callback handlers
        * maybe installed.
        *
        * <p>The methods in the advanced callback interface represent
        * Xerces-C extensions. There is no specification for this interface.</p>
        *
        * @param toInstall A pointer to the users advanced callback handler.
        *
        * @see #removeAdvDocHandler
        */
      virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall) = 0;
  
      /**
        * This method removes the 'advanced' document handler callback from
        * the underlying parser scanner. If no handler is installed, advanced
        * callbacks are not invoked by the scanner.
        * @param toRemove A pointer to the advanced callback handler which
        *                 should be removed.
        *
        * @see #installAdvDocHandler
        */
      virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove) = 0;
      //@}
  
  private :
      /* The copy constructor, you cannot call this directly */
      SAX2XMLReader(const SAX2XMLReader&);
  
      /* The assignment operator, you cannot call this directly */
      void operator=(const SAX2XMLReader&);
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/sax2/XMLReaderFactory.hpp
  
  Index: XMLReaderFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLReaderFactory.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/08/30 22:21:37  andyh
   * Unix Build script fixes.  Clean up some UNIX compiler warnings.
   *
   * Revision 1.2  2000/08/07 18:21:27  jpolast
   * change SAX_EXPORT module to SAX2_EXPORT
   *
   * Revision 1.1  2000/08/02 18:02:35  jpolast
   * initial checkin of sax2 implementation
   * submitted by Simon Fell (simon@fell.com)
   * and Joe Polastre (jpolast@apache.org)
   *
   *
   */
  
  #ifndef XMLREADERFACTORY_HPP
  #define XMLREADERFACTORY_HPP
  
  #include <parsers/SAX2XMLReaderImpl.hpp>
  #include <sax/SAXException.hpp>
  
  class SAX2_EXPORT XMLReaderFactory
  {
  protected:                // really should be private, but that causes compiler warnings.
  	XMLReaderFactory() ;
  	~XMLReaderFactory() ;
  
  public:
  	static SAX2XMLReader * createXMLReader() ;
  	static SAX2XMLReader * createXMLReader(const XMLCh* className)  ;
  };
  
  
  inline SAX2XMLReader * XMLReaderFactory::createXMLReader()
  {
  	return (SAX2XMLReader*)(new SAX2XMLReaderImpl());
  }
  
  inline SAX2XMLReader * XMLReaderFactory::createXMLReader(const XMLCh * className)
  {	
  	throw SAXNotSupportedException();
  	// unimplemented 
  	return 0;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ArrayIndexOutOfBoundsException.hpp
  
  Index: ArrayIndexOutOfBoundsException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ArrayIndexOutOfBoundsException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(ARRAYINDEXOUTOFBOUNDSEXCEPTION_HPP)
  #define ARRAYINDEXOUTOFBOUNDSEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(ArrayIndexOutOfBoundsException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/AutoSense.hpp
  
  Index: AutoSense.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: AutoSense.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.20  2001/05/11 13:26:26  tng
   * Copyright update.
   *
   * Revision 1.19  2001/03/23 19:01:25  tng
   * [Bug 1018]  AutoSense looks for "IRIX" when it should look for "sgi" or "__sgi".  By Jeff Harrell.
   *
   * Revision 1.18  2001/02/09 14:40:01  tng
   * Update support for SCO UnixWare 7 (gcc).  Tested under UnixWare 7.1.1 with gcc version 2.95.2 19991024 (release) with gmake 3.79.1.  Updated by Martin Kalen.
   *
   * Revision 1.17  2001/01/26 21:59:25  tng
   * Change bug-todo list to xml format.  Other documentation fixes.
   *
   * Revision 1.16  2000/10/09 18:15:43  jberry
   * Modify sensing of Mac OS X.
   * PR:
   * Obtained from:
   * Submitted by:
   * Reviewed by:
   * PR:
   * Obtained from:
   * Submitted by:
   * Reviewed by:
   *
   * Revision 1.15  2000/09/21 00:54:18  aruna1
   * OS2 related changes given by Bill Schindler
   *
   * Revision 1.14  2000/08/01 18:26:02  aruna1
   * Tru64 support added
   *
   * Revision 1.13  2000/07/18 18:25:58  andyh
   * Mac OS update.
   * Contributed by James Berry <jb...@criticalpath.com>
   *
   * Revision 1.12  2000/04/04 20:11:29  abagchi
   * Added PTX support
   *
   * Revision 1.11  2000/03/02 19:54:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.10  2000/03/02 01:51:00  aruna1
   * Sun CC 5.0 related changes
   *
   * Revision 1.9  2000/02/24 20:05:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.8  2000/02/22 01:00:10  aruna1
   * GNUGDefs references removed. Now only GCCDefs is used instead
   *
   * Revision 1.7  2000/02/06 07:48:00  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.6  2000/02/01 23:43:22  abagchi
   * AS/400 related change
   *
   * Revision 1.5  2000/01/21 22:12:29  abagchi
   * OS390 Change: changed OE390 to OS390
   *
   * Revision 1.4  1999/12/18 00:47:01  rahulj
   * Merged in some changes for OS390.
   *
   * Revision 1.3  1999/12/17 01:28:53  rahulj
   * Merged in changes submitted for UnixWare 7 port. Platform
   * specific files are still missing.
   *
   * Revision 1.2  1999/12/01 17:16:16  rahulj
   * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
   *
   * Revision 1.1.1.1  1999/11/09 01:03:55  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:03  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef AUTOSENSE_HPP
  #define AUTOSENSE_HPP
  
  // ---------------------------------------------------------------------------
  //  This section attempts to auto detect the operating system. It will set
  //  up XercesC specific defines that are used by the rest of the code.
  // ---------------------------------------------------------------------------
  #if defined(_AIX)
      #define XML_AIX
      #define XML_UNIX
  #elif defined(_SEQUENT_)
      #define XML_PTX
      #define XML_UNIX
  #elif defined(_HP_UX) || defined(__hpux) || defined(_HPUX_SOURCE)
      #define XML_HPUX
      #define XML_UNIX
  #elif defined(SOLARIS) || defined(__SVR4)
          #define XML_SOLARIS
          #define XML_UNIX
  #elif defined(UNIXWARE)
      #define XML_UNIXWARE
      #define XML_UNIX
  #elif defined(__linux__)
      #define XML_LINUX
      #define XML_UNIX
  #elif defined(IRIX) || defined(__sgi)
      #define XML_IRIX
      #define XML_UNIX
  #elif defined(__MVS__)
      #define XML_OS390
      #define XML_UNIX
  #elif defined(EXM_OS390)
      #define XML_OS390
      #define XML_UNIX
  #elif defined(__OS400__)
      #define XML_AS400
      #define XML_UNIX
  #elif defined(__OS2__)
      #define XML_OS2
  #elif defined(__TANDEM)
      #define XML_TANDEM
      #define XML_UNIX
      #define XML_CSET
  #elif defined(_WIN32) || defined(WIN32)
      #define XML_WIN32
      #ifndef WIN32
        #define WIN32
      #endif
  #elif defined(__WINDOWS__)
  
      // IBM VisualAge special handling
      #if defined(__32BIT__)
          #define XML_WIN32
      #else
          #define XML_WIN16
      #endif
  #elif defined(__MSDXML__)
      #define XML_DOS
  
  #elif defined(macintosh)
      #define XML_MACOS
  #elif defined(__APPLE__) && defined(__MACH__)
      #define XML_MACOSX
  #elif defined(__alpha) && defined(__osf__)
      #define XML_TRU64
  #else
      #error Code requires port to host OS!
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  This section attempts to autodetect the compiler being used. It will set
  //  up Xerces specific defines that can be used by the rest of the code.
  // ---------------------------------------------------------------------------
  #if defined(__BORLANDC__)
      #define XML_BORLAND
  #elif defined(_MSC_VER)
      #define XML_VISUALCPP
  #elif defined(__xlC__)
      #define XML_CSET
  #elif defined(XML_SOLARIS) || defined(XML_UNIXWARE)
      #if defined(__SUNPRO_CC) & __SUNPRO_CC >=0x500
          #define XML_SUNCC5
  	#elif defined(__SUNPRO_CC) & __SUNPRO_CC <0x500
          #define XML_SUNCC
      #elif defined(_EDG_RUNTIME_USES_NAMESPACES)
          #define XML_SOLARIS_KAICC
      #elif defined(__GNUG__)
  		#define XML_GCC
      #endif
  #elif defined (__GNUG__) || defined(__linux__)
      #define XML_GCC
  #elif defined(XML_HPUX)
      #if defined(EXM_HPUX)
          #define XML_HPUX_KAICC
      #elif (__cplusplus == 1)
          #define XML_HPUX_CC
      #elif (__cplusplus == 199707 || __cplusplus == 199711)
          #define XML_HPUX_aCC
      #endif
  #elif defined(XML_IRIX)
      #define XML_MIPSPRO_CC
  #elif defined(XML_PTX)
      #define XML_PTX_CC
  #elif defined(XML_TANDEM)
      #define XML_TANDEMCC
  #elif defined(__MVS__) && defined(__cplusplus)
      #define XML_MVSCPP
  #elif defined(EXM_OS390) && defined(__cplusplus)
      #define XML_MVSCPP
  #elif defined(__IBMC__) || defined(__IBMCPP__)
      #if defined(XML_WIN32)
          #define XML_IBMVAW32
      #elif defined(XML_OS2)
          #define XML_IBMVAOS2
          #if (__IBMC__ >= 400 || __IBMCPP__ >= 400)
              #define XML_IBMVA4_OS2
          #endif
      #endif
  #elif defined(XML_TRU64) && defined(__DECCXX)
      #define XML_DECCXX
  #elif defined(__MWERKS__)
      #define XML_METROWERKS
  #elif defined(__OS400__)
  #else
      #error Code requires port to current development environment
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Base64.hpp
  
  Index: Base64.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: Base64.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #ifndef BASE64_HPP
  #define BASE64_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLUniDefs.hpp>
  
  //
  // This class provides encode/decode for RFC 2045 Base64 as
  // defined by RFC 2045, N. Freed and N. Borenstein.
  // RFC 2045: Multipurpose Internet Mail Extensions (MIME)
  // Part One: Format of Internet Message Bodies. Reference
  // 1996 Available at: http://www.ietf.org/rfc/rfc2045.txt
  // This class is used by XML Schema binary format validation
  //  
  //
  class XMLUTIL_EXPORT Base64
  {
  public :
  
      //@{
  
      /**
       * Encodes octets into Base64 data
       * 
       * @param inputData Byte array containing binary data.
       * @param inputLength Length of the input array.
       * @param outputLength Pointer to variable, where will be
       *     stored length of returned data.
       * @return Byte array containing encoded Base64 data,
       *     or NULL if input data can not be encoded.
       */
      static XMLCh* encode (
          const XMLCh* const inputData,
          const int inputLength,
          int *outputLength = 0 );
  
      /**
       * Get data length
       * returns length of decoded data given an array 
       * containing encoded data.
       *
       * @param inputData Byte array containing Base64 data.
       * @return Length of decoded data, or -1 if input data
       *     can not be decoded.
       */
      static int getDataLength(
          const XMLCh* const inputData );
  
      /**
       * Decodes Base64 data into octets
       * 
       * @param inputData Byte array containing Base64 data.
       * @param outputLength Reference to variable, where will be
       *     stored length of returned data.
       * @return Byte array containing decoded binary data, or 
       *     NULL if input data can not be decoded.
       */
      static XMLCh* decode(
          const XMLCh* const inputData,
          int& outputLength );
  
      //@}
  
  private :
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
  
      static void init();
  
      static bool isData(const XMLCh& octet);
      static bool isPad(const XMLCh& octet);
  
      static XMLCh set1stOctet(const XMLCh&, const XMLCh&);
      static XMLCh set2ndOctet(const XMLCh&, const XMLCh&);
      static XMLCh set3rdOctet(const XMLCh&, const XMLCh&);
  
      static void split1stOctet(const XMLCh&, XMLCh&, XMLCh&);
      static void split2ndOctet(const XMLCh&, XMLCh&, XMLCh&);
      static void split3rdOctet(const XMLCh&, XMLCh&, XMLCh&);
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Base64();
      Base64(const Base64&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  base64Alphabet
      //     The Base64 alphabet (see RFC 2045).
      //
      //  base64Padding
      //     Padding character (see RFC 2045).
      //
      //  base64Inverse
      //     Table used in decoding base64.
      //
      //  isInitialized
      //     Set once base64Inverse is initalized.
      //
      //  quadsPerLine
      //     Number of quadruplets per one line. The encoded output
      //     stream must be represented in lines of no more 
      //     than 19 quadruplets each.
      //
      // -----------------------------------------------------------------------
  
      static const XMLCh  base64Alphabet[];
      static const XMLCh  base64Padding;
  
      static XMLCh  base64Inverse[];
      static bool  isInitialized;
  
      static const unsigned int  quadsPerLine;
  };
  
  // -----------------------------------------------------------------------
  //  Helper methods
  // -----------------------------------------------------------------------
  inline bool Base64::isPad(const XMLCh& octet) 
  {
      return ( octet == base64Padding );
  }
  
  inline XMLCh Base64::set1stOctet(const XMLCh& b1, const XMLCh& b2)
  {
      return (( b1 << 2 ) | ( b2 >> 4 ));
  }
  
  inline XMLCh Base64::set2ndOctet(const XMLCh& b2, const XMLCh& b3)
  {
      return (( b2 << 4 ) | ( b3 >> 2 ));
  }
  
  inline XMLCh Base64::set3rdOctet(const XMLCh& b3, const XMLCh& b4)
  {
      return (( b3 << 6 ) | b4 );
  }
  
  inline void Base64::split1stOctet(const XMLCh& ch, XMLCh& b1, XMLCh& b2) {
      b1 = ch >> 2;
      b2 = ( ch & 0x3 ) << 4;
  }
  
  inline void Base64::split2ndOctet(const XMLCh& ch, XMLCh& b2, XMLCh& b3) {
      b2 |= ch >> 4;  // combine with previous value
      b3 = ( ch & 0xf ) << 2;
  }
  
  inline void Base64::split3rdOctet(const XMLCh& ch, XMLCh& b3, XMLCh& b4) {
      b3 |= ch >> 6;  // combine with previous value 
      b4 = ( ch & 0x3f );
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/BinFileInputStream.hpp
  
  Index: BinFileInputStream.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: BinFileInputStream.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:05:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:00  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:03  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(BINFILEINPUTSTREAM_HPP)
  #define BINFILEINPUTSTREAM_HPP
  
  #include <util/BinInputStream.hpp>
  
  
  class XMLUTIL_EXPORT BinFileInputStream : public BinInputStream
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      BinFileInputStream
      (
          const   XMLCh* const    fileName
      );
  
      BinFileInputStream
      (
          const   char* const     fileName
      );
  
      BinFileInputStream
      (
          const   FileHandle      toUse
      );
  
      virtual ~BinFileInputStream();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool getIsOpen() const;
      unsigned int getSize() const;
      void reset();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the input stream interface
      // -----------------------------------------------------------------------
      virtual unsigned int curPos() const;
  
      virtual unsigned int readBytes
      (
                  XMLByte* const      toFill
          , const unsigned int        maxToRead
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSource
      //      The source file that we represent. The FileHandle type is defined
      //      per platform.
      // -----------------------------------------------------------------------
      FileHandle      fSource;
  };
  
  
  // ---------------------------------------------------------------------------
  //  BinFileInputStream: Getter methods
  // ---------------------------------------------------------------------------
  inline bool BinFileInputStream::getIsOpen() const
  {
      return (fSource != 0);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/BinInputStream.hpp
  
  Index: BinInputStream.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: BinInputStream.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:23  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:03  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:04  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(BININPUTSTREAM_HPP)
  #define BININPUTSTREAM_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT BinInputStream
  {
  public :
      // -----------------------------------------------------------------------
      //  Virtual destructor for derived classes
      // -----------------------------------------------------------------------
      virtual ~BinInputStream();
  
  
      // -----------------------------------------------------------------------
      //  The virtual input stream interface
      // -----------------------------------------------------------------------
      virtual unsigned int curPos() const = 0;
  
      virtual unsigned int readBytes
      (
                  XMLByte* const      toFill
          , const unsigned int        maxToRead
      ) = 0;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden Constructors
      // -----------------------------------------------------------------------
      BinInputStream();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented Constructors
      // -----------------------------------------------------------------------
      BinInputStream(const BinInputStream&);
      void operator=(const BinInputStream&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/BinMemInputStream.hpp
  
  Index: BinMemInputStream.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: BinMemInputStream.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:07  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:04  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(BINMEMINPUTSTREAM_HPP)
  #define BINMEMINPUTSTREAM_HPP
  
  #include <util/BinInputStream.hpp>
  
  
  class XMLUTIL_EXPORT BinMemInputStream : public BinInputStream
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      // -----------------------------------------------------------------------
      enum BufOpts
      {
          BufOpt_Adopt
          , BufOpt_Copy
          , BufOpt_Reference
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      BinMemInputStream
      (
          const   XMLByte* const  initData
          , const unsigned int    capacity
          , const BufOpts         bufOpt = BufOpt_Copy
      );
      virtual ~BinMemInputStream();
  
  
      // -----------------------------------------------------------------------
      //  Stream management methods
      // -----------------------------------------------------------------------
      void reset();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the input stream interface
      // -----------------------------------------------------------------------
      virtual unsigned int curPos() const;
      virtual unsigned int readBytes
      (
                  XMLByte* const  toFill
          , const unsigned int    maxToRead
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBuffer
      //      The buffer of bytes that we are streaming.
      //
      //  fBufOpt
      //      Indicates the ownership status of the buffer. The caller can have
      //      us adopt it (we delete it), reference it, or just make our own
      //      copy of it.
      //
      //  fCapacity
      //      The size of the buffer being streamed.
      //
      //  fCurIndex
      //      The current index where the next byte will be read from. When it
      //      hits fCapacity, we are done.
      // -----------------------------------------------------------------------
      const XMLByte*  fBuffer;
      BufOpts         fBufOpt;
      unsigned int    fCapacity;
      unsigned int    fCurIndex;
  };
  
  
  // ---------------------------------------------------------------------------
  //  BinMemInputStream: Stream management methods
  // ---------------------------------------------------------------------------
  inline void BinMemInputStream::reset()
  {
      fCurIndex = 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  BinMemInputStream: Implementation of the input stream interface
  // ---------------------------------------------------------------------------
  inline unsigned int BinMemInputStream::curPos() const
  {
      return fCurIndex;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/BitOps.hpp
  
  Index: BitOps.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: BitOps.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2000/09/06 00:24:15  andyh
   * Clean up misc compiler warnings
   *
   * Revision 1.6  2000/03/02 19:54:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.4  2000/02/17 22:49:17  aruna1
   * Added comment on mask
   *
   * Revision 1.3  2000/02/17 22:32:45  aruna1
   * Masking changes made due to swap of 16bit to 32 bit
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:08  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:05  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(BITOPS_HPP)
  #define BITOPS_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  class XMLUTIL_EXPORT BitOps
  {
  public:
      // -----------------------------------------------------------------------
      //  Public static methods
      // -----------------------------------------------------------------------
      static inline XMLCh swapBytes(const XMLUInt16 toSwap)
      {
          //The mask is required to overcome a compiler error on solaris 
          return XMLCh(((toSwap >> 8) | (toSwap << 8)) & 0xFFFF);
      }
  
      static inline unsigned int swapBytes(const XMLUInt32 toSwap)
      {
          return
          (
              (toSwap >> 24)
              | (toSwap << 24)
              | ((toSwap & 0xFF00) << 8)
              | ((toSwap & 0xFF0000) >> 8)
          );
      }
  
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators.  (These ought to be private,
      //                                  but that produces spurious compiler warnings
      //                                  on some platforms.)
      // -----------------------------------------------------------------------
      BitOps();
      BitOps(const BitOps&);
      void operator=(const BitOps);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/BitSet.hpp
  
  Index: BitSet.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: BitSet.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:11  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:05  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(BITSET_HPP)
  #define BITSET_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT BitSet
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      BitSet(const unsigned int size);
      BitSet(const BitSet& toCopy);
      ~BitSet();
  
  
      // -----------------------------------------------------------------------
      //  Equality methods
      // -----------------------------------------------------------------------
      bool equals(const BitSet& other) const;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool allAreCleared() const;
      bool allAreSet() const;
      unsigned int size() const;
      bool get(const unsigned int index) const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void clear(const unsigned int index);
      void clearAll();
      void set(const unsigned int index);
  
  
      // -----------------------------------------------------------------------
      //  Bitwise logical operations
      // -----------------------------------------------------------------------
      void andWith(const BitSet& other);
      void orWith(const BitSet& other);
      void xorWith(const BitSet& other);
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
      unsigned int hash(const unsigned int hashModulus) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors
      // -----------------------------------------------------------------------
      BitSet();
  
  
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      void ensureCapacity(const unsigned int bits);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fBits
      //      The array of unsigned longs used to store the bits.
      //
      //  fUnitLen
      //      The length of the storage array, in storage units not bits.
      // -----------------------------------------------------------------------
      unsigned long*  fBits;
      unsigned int    fUnitLen;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/CountedPointer.c
  
  Index: CountedPointer.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: CountedPointer.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:12  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:05  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/CountedPointer.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  CountedPointerTo: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class T> CountedPointerTo<T>::
  CountedPointerTo(const CountedPointerTo<T>& toCopy) :
  
      fPtr(toCopy.fPtr)
  {
      if (fPtr)
          fPtr->addRef();
  }
  
  template <class T> CountedPointerTo<T>::CountedPointerTo(T* p) :
  
      fPtr(p)
  {
      if (fPtr)
          fPtr->addRef();
  }
  
  template <class T> CountedPointerTo<T>::~CountedPointerTo()
  {
      if (fPtr)
          fPtr->removeRef();
  }
  
  
  // ---------------------------------------------------------------------------
  //  CountedPointerTo: Operators
  // ---------------------------------------------------------------------------
  template <class T> CountedPointerTo<T>&
  CountedPointerTo<T>::operator=(const CountedPointerTo<T>& other)
  {
      if (this == &other)
          return *this;
  
      if (other.fPtr)
          other.fPtr->addRef();
  
      if (fPtr)
          fPtr->removeRef();
  
      fPtr = other.fPtr;
      return *this;
  }
  
  template <class T> CountedPointerTo<T>::operator T*()
  {
      return fPtr;
  }
  
  template <class T> const T* CountedPointerTo<T>::operator->() const
  {
      return fPtr;
  }
  
  template <class T> T* CountedPointerTo<T>::operator->()
  {
      return fPtr;
  }
  
  template <class T> const T& CountedPointerTo<T>::operator*() const
  {
      if (!fPtr)
          ThrowXML(NullPointerException, XMLExcepts::CPtr_PointerIsZero);
      return *fPtr;
  }
  
  template <class T> T& CountedPointerTo<T>::operator*()
  {
      if (!fPtr)
          ThrowXML(NullPointerException, XMLExcepts::CPtr_PointerIsZero);
      return *fPtr;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/CountedPointer.hpp
  
  Index: CountedPointer.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CountedPointer.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:39  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:13  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:06  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(COUNTEDPOINTERTO_HPP)
  #define COUNTEDPOINTERTO_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/NullPointerException.hpp>
  
  
  template <class T> class CountedPointerTo
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      CountedPointerTo(const CountedPointerTo<T>& toCopy);
      CountedPointerTo(T* p = 0);
      ~CountedPointerTo();
  
  
      // -----------------------------------------------------------------------
      //  Operators
      // -----------------------------------------------------------------------
      CountedPointerTo<T>& operator=(const CountedPointerTo<T>& other);
      operator T*();
      const T* operator->() const;
      T* operator->();
      const T& operator*() const;
      T& operator*();
  
  
  private:
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fPtr
      //      The pointer that we are counting. The T type must implement the
      //      addRef() and removeRef() APIs but it doesn't have to derive from
      //      any particular type.
      // -----------------------------------------------------------------------
      T*  fPtr;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/CountedPointer.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/EmptyStackException.hpp
  
  Index: EmptyStackException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: EmptyStackException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(EMPTYSTACKEXCEPTION_HPP)
  #define EMPTYSTACKEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(EmptyStackException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/FlagJanitor.c
  
  Index: FlagJanitor.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: FlagJanitor.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:39  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:15  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:06  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/FlagJanitor.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class T> FlagJanitor<T>::FlagJanitor(T* const valPtr, const T newVal)
  {
      // Store the pointer, save the org value, and store the new value
      fValPtr = valPtr;
      if (fValPtr)
      {
          fOldVal = *fValPtr;
          *fValPtr = newVal;
      }
  }
  
  template <class T> FlagJanitor<T>::~FlagJanitor()
  {
      // Restore the old value
      if (fValPtr)
          *fValPtr = fOldVal;
  }
  
  
  // ---------------------------------------------------------------------------
  //  Value management methods
  // ---------------------------------------------------------------------------
  template <class T> void FlagJanitor<T>::release()
  {
      fValPtr = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/FlagJanitor.hpp
  
  Index: FlagJanitor.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: FlagJanitor.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:39  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:01  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:17  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:06  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(FLAGJANITOR_HPP)
  #define FLAGJANITOR_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  
  template <class T> class FlagJanitor
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      FlagJanitor(T* const valPtr, const T newVal);
      ~FlagJanitor();
  
  
      // -----------------------------------------------------------------------
      //  Value management methods
      // -----------------------------------------------------------------------
      void release();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      FlagJanitor();
      FlagJanitor(const FlagJanitor<T>&);
      void operator=(const FlagJanitor<T>&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fOldVal
      //      The old value that was in the flag when we were constructed.
      //
      //  fValPtr
      //      A pointer to the flag that we are to restore the value of
      // -----------------------------------------------------------------------
      T   fOldVal;
      T*  fValPtr;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/FlagJanitor.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/HashBase.hpp
  
  Index: HashBase.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #if !defined(HASHBASE_HPP)
  #define HASHBASE_HPP
  
  #include <util/XercesDefs.hpp>
  
  /**
   * The <code>HashBase</code> interface is the general outline of a hasher.
   * Hashers are used in <code>RefHashTableOf</code> hashtables to hash any
   * type of key.  An examples is the <code>HashXMLCh</code> class which is
   * designed to produce hash values for XMLCh* strings.  Any hasher inheriting
   * from <code>HashBase</code> may be specified when the RefHashTableOf hashtable is constructed.
   */
  class XMLUTIL_EXPORT HashBase
  {
  
  public:
  	
  	/**
        * Returns a hash value based on the key
        *
        * @param key the key to be hashed
  	  * @param mod the modulus the hasher should use
        */
  	virtual unsigned int getHashVal(const void *const key, unsigned int mod) = 0;
  
  	/**
        * Compares two keys and determines if they are semantically equal
        *
        * @param key1 the first key to be compared
  	  * @param key2 the second key to be compared
  	  *
  	  * @return true if they are equal
        */
  	virtual bool equals(const void *const key1, const void *const key2) = 0;
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/HashCMStateSet.hpp
  
  Index: HashCMStateSet.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: HashCMStateSet.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   * $Log: HashCMStateSet.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/08/16 21:54:01  peiyongz
   * new class creation
   *
   */
  
  #if !defined(HASH_CMSTATESET_HPP)
  #define HASH_CMSTATESET_HPP
  
  #include <util/HashBase.hpp>
  #include <validators/common/CMStateSet.hpp>
  
  /**
   * The <code>HashCMStateSet</code> class inherits from <code>HashBase</code>.
   * This is a CMStateSet specific hasher class designed to hash the values
   * of CMStateSet.  
   *
   * See <code>HashBase</code> for more information.
   */
  
  class XMLUTIL_EXPORT HashCMStateSet : public HashBase
  {
  public:
  	HashCMStateSet();
  	virtual ~HashCMStateSet();
  	virtual unsigned int getHashVal(const void *const key, unsigned int mod);
  	virtual bool equals(const void *const key1, const void *const key2);
  
  };
  
  inline HashCMStateSet::HashCMStateSet()
  {
  }
  
  inline HashCMStateSet::~HashCMStateSet()
  {
  }
  
  inline unsigned int HashCMStateSet::getHashVal(const void *const key, unsigned int mod)
  {
      const CMStateSet* const pkey = (const CMStateSet* const) key;
  	return ((pkey->hashCode()) % mod);
  }
  
  bool HashCMStateSet::equals(const void *const key1, const void *const key2)
  {
      const CMStateSet* const pkey1 = (const CMStateSet* const) key1;
      const CMStateSet* const pkey2 = (const CMStateSet* const) key2;
  
  	return (*pkey1==*pkey2);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/HashPtr.hpp
  
  Index: HashPtr.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #if !defined(HASHPTR_HPP)
  #define HASHPTR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/HashBase.hpp>
  
  /**
   * The <code>HashPtr</code> class inherits from <code>HashBase</code>.
   * This is a generic hasher class designed to hash the pointers of the
   * objects themselves.  Useful if you want to hash objects instead of 
   * strings so long as the objects don't move to a different memory location.  
   * See <code>HashBase</code> for more information.
   */
  
  class XMLUTIL_EXPORT HashPtr : public HashBase
  {
  public:
  	HashPtr();
  	~HashPtr();
  	virtual unsigned int getHashVal(const void *const key, unsigned int mod);
  	virtual bool equals(const void *const key1, const void *const key2);
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/HashXMLCh.hpp
  
  Index: HashXMLCh.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #if !defined(HASHXMLCH_HPP)
  #define HASHXMLCH_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/HashBase.hpp>
  
  /**
   * The <code>HashXMLCh</code> class inherits from <code>HashBase</code>.
   * This is a XMLCh* string specific hasher class designed to hash the values
   * of XMLCh* strings with a given modulo.  References the XMLString hash
   * function.  
   * See <code>HashBase</code> for more information.
   */
  
  class XMLUTIL_EXPORT HashXMLCh : public HashBase
  {
  public:
  	HashXMLCh();
  	virtual ~HashXMLCh();
  	virtual unsigned int getHashVal(const void *const key, unsigned int mod);
  	virtual bool equals(const void *const key1, const void *const key2);
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/HexBin.hpp
  
  Index: HexBin.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: HexBin.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #ifndef HEXBIN_HPP
  #define HEXBIN_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT HexBin
  {
  public :
      //@{
  
      /**
       * return the length of hexData in terms of HexBinary.
       *
       * @param hexData A string containing the HexBinary
       *
       * return: -1 if it contains any invalid HexBinary
       *         the length of the HexNumber otherwise.
       */
  
      static int  getDataLength(const XMLCh* const hexData);
  
       /**
       * check an array of data against the Hex table.
       *
       * @param hexData A string containing the HexBinary
       *
       * return: false if it contains any invalid HexBinary
       *         true otherwise.
       */
  
      static bool isArrayByteHex(const XMLCh* const hexData);
  
      //@}
  
  private :
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
  
      static void init();
  
      static bool isHex(const XMLCh& octect);
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      HexBin();
      HexBin(const HexBin&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  isInitialized
      //
      //     set once hexNumberTable is initalized.
      //
      //  hexNumberTable
      //
      //     arrany holding valid hexNumber character.
      //
      // -----------------------------------------------------------------------
      static bool       isInitialized;
      static bool       hexNumberTable[]; 
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/IOException.hpp
  
  Index: IOException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IOException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(IOEXCEPTION_HPP)
  #define IOEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(IOException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/IllegalArgumentException.hpp
  
  Index: IllegalArgumentException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IllegalArgumentException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(ILLEGALARGUMENTEXCEPTION_HPP)
  #define ILLEGALARGUMENTEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(IllegalArgumentException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/InvalidCastException.hpp
  
  Index: InvalidCastException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: InvalidCastException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(INVALIDCASTEXCEPTION_HPP)
  #define INVALIDCASTEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(InvalidCastException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Janitor.c
  
  Index: Janitor.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: Janitor.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/10/13 22:45:11  andyh
   * Complete removal of ArrayJanitory::operator->().  Was just commented out earlier.
   *
   * Revision 1.5  2000/10/10 23:52:10  andyh
   * From Janitor, remove the addition that is having compile problems in MSVC.
   *
   * Revision 1.4  2000/10/09 18:32:31  jberry
   * Add some auto_ptr functionality to allow modification of monitored
   * pointer value. This eases use of Janitor in some situations.
   *
   * Revision 1.3  2000/03/02 19:54:40  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:26  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:08  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/Janitor.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  Janitor: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class T> Janitor<T>::Janitor(T* const toDelete) :
      fData(toDelete)
  {
  }
  
  
  template <class T> Janitor<T>::~Janitor()
  {
      reset();
  }
  
  
  // ---------------------------------------------------------------------------
  //  Janitor: Public, non-virtual methods
  // ---------------------------------------------------------------------------
  template <class T> void
  Janitor<T>::orphan()
  {
     release();
  }
  
  
  template <class T> T&
  Janitor<T>::operator*() const
  {
  	return *fData;
  }
  
  
  template <class T> T*
  Janitor<T>::operator->() const
  {
  	return fData;
  }
  
  
  template <class T> T*
  Janitor<T>::get() const
  {
  	return fData;
  }
  
  
  template <class T> T*
  Janitor<T>::release()
  {
  	T* p = fData;
  	fData = 0;
  	return p;
  }
  
  
  template <class T> void Janitor<T>::reset(T* p)
  {
  	delete fData;
  	fData = p;
  }
  
  
  // -----------------------------------------------------------------------
  //  ArrayJanitor: Constructors and Destructor
  // -----------------------------------------------------------------------
  template <class T> ArrayJanitor<T>::ArrayJanitor(T* const toDelete) :
      fData(toDelete)
  {
  }
  
  
  template <class T> ArrayJanitor<T>::~ArrayJanitor()
  {
  	reset();
  }
  
  
  // -----------------------------------------------------------------------
  //  ArrayJanitor: Public, non-virtual methods
  // -----------------------------------------------------------------------
  template <class T> void
  ArrayJanitor<T>::orphan()
  {
     release();
  }
  
  
  //	Look, Ma! No hands! Don't call this with null data!
  template <class T> T&
  ArrayJanitor<T>::operator[](int index) const
  {
  	//	TODO: Add appropriate exception
  	return fData[index];
  }
  
  
  template <class T> T*
  ArrayJanitor<T>::get() const
  {
  	return fData;
  }
  
  
  template <class T> T*
  ArrayJanitor<T>::release()
  {
  	T* p = fData;
  	fData = 0;
  	return p;
  }
  
  
  template <class T> void
  ArrayJanitor<T>::reset(T* p)
  {
  	delete [] fData;
  	fData = p;
  }
  
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Janitor.hpp
  
  Index: Janitor.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Janitor.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2000/10/13 22:45:12  andyh
   * Complete removal of ArrayJanitory::operator->().  Was just commented out earlier.
   *
   * Revision 1.6  2000/10/10 23:52:11  andyh
   * From Janitor, remove the addition that is having compile problems in MSVC.
   *
   * Revision 1.5  2000/10/09 18:32:31  jberry
   * Add some auto_ptr functionality to allow modification of monitored
   * pointer value. This eases use of Janitor in some situations.
   *
   * Revision 1.4  2000/03/02 19:54:40  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:27  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:08  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(JANITOR_HPP)
  #define JANITOR_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  template <class T> class Janitor
  {
  public  :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      Janitor(T* const toDelete);
      ~Janitor();
  
      // -----------------------------------------------------------------------
      //  Public, non-virtual methods
      // -----------------------------------------------------------------------
      void orphan();
  
  	//	small amount of auto_ptr compatibility
  	T&	operator*() const;
  	T*	operator->() const;
  	T*	get() const;
  	T*	release();
  	void reset(T* p = 0);
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
  	Janitor();
      Janitor(const Janitor<T>&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fData
      //      This is the pointer to the object or structure that must be
      //      destroyed when this object is destroyed.
      // -----------------------------------------------------------------------
      T*  fData;
  };
  
  
  
  template <class T> class ArrayJanitor
  {
  public  :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ArrayJanitor(T* const toDelete);
      ~ArrayJanitor();
  
  
      // -----------------------------------------------------------------------
      //  Public, non-virtual methods
      // -----------------------------------------------------------------------
      void orphan();
  
  	//	small amount of auto_ptr compatibility
  	T&	operator[](int index) const;
  	T*	get() const;
  	T*	release();
  	void reset(T* p = 0);
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
  	ArrayJanitor();
      ArrayJanitor(const ArrayJanitor<T>& copy);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fData
      //      This is the pointer to the object or structure that must be
      //      destroyed when this object is destroyed.
      // -----------------------------------------------------------------------
      T*  fData;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/Janitor.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/KVStringPair.hpp
  
  Index: KVStringPair.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: KVStringPair.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/05/11 13:26:27  tng
   * Copyright update.
   *
   * Revision 1.5  2001/01/15 21:26:34  tng
   * Performance Patches by David Bertoni.
   *
   * Details: (see xerces-c-dev mailing Jan 14)
   * XMLRecognizer.cpp: the internal encoding string XMLUni::fgXMLChEncodingString
   * was going through this function numerous times.  As a result, the top hot-spot
   * for the parse was _wcsicmp().  The real problem is that the Microsofts wide string
   * functions are unbelievably slow.  For things like encodings, it might be
   * better to use a special comparison function that only considers a-z and
   * A-Z as characters with case.  This works since the character set for
   * encodings is limit to printable ASCII characters.
   *
   *  XMLScanner2.cpp: This also has some case-sensitive vs. insensitive compares.
   * They are also much faster.  The other tweak is to only make a copy of an attribute
   * string if it needs to be split.  And then, the strategy is to try to use a
   * stack-based buffer, rather than a dynamically-allocated one.
   *
   * SAX2XMLReaderImpl.cpp: Again, more case-sensitive vs. insensitive comparisons.
   *
   * KVStringPair.cpp & hpp: By storing the size of the allocation, the storage can
   * likely be re-used many times, cutting down on dynamic memory allocations.
   *
   * XMLString.hpp: a more efficient implementation of stringLen().
   *
   * DTDValidator.cpp: another case of using a stack-based buffer when possible
   *
   * These patches made a big difference in parse time in some of our test
   * files, especially the ones are very attribute-heavy.
   *
   * Revision 1.4  2000/03/02 19:54:40  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:37  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:08  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(KVSTRINGPAIR_HPP)
  #define KVSTRINGPAIR_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  //
  //  This class provides a commonly used data structure, which is that of
  //  a pair of strings which represent a 'key=value' type mapping. It works
  //  only in terms of XMLCh type raw strings.
  //
  class XMLUTIL_EXPORT KVStringPair
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      KVStringPair();
      KVStringPair(const XMLCh* const key, const XMLCh* const value);
      KVStringPair(const KVStringPair& toCopy);
      ~KVStringPair();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      //
      //  We support the
      // -----------------------------------------------------------------------
      const XMLCh* getKey() const;
      XMLCh* getKey();
      const XMLCh* getValue() const;
      XMLCh* getValue();
  
  
      // -----------------------------------------------------------------------
      //  Setters
      // -----------------------------------------------------------------------
      void setKey(const XMLCh* const newKey);
      void setValue(const XMLCh* const newValue);
      void set
      (
          const   XMLCh* const    newKey
          , const XMLCh* const    newValue
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fKey
      //      The string that represents the key field of this object.
      //
      //  fKeyAllocSize
      //      The amount of memory allocated for fKey.
      //
      //  fValue
      //      The string that represents the value of this pair object.
      //
      //  fValueAllocSize
      //      The amount of memory allocated for fValue.
      //
      // -----------------------------------------------------------------------
      XMLCh*  fKey;
      unsigned long  fKeyAllocSize;
      XMLCh*  fValue;
      unsigned long  fValueAllocSize;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/KeyValuePair.c
  
  Index: KeyValuePair.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: KeyValuePair.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:41  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:29  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:09  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Include
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/KeyValuePair.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  KeyValuePair: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TKey, class TValue> KeyValuePair<TKey,TValue>::KeyValuePair()
  {
  }
  
  template <class TKey, class TValue> KeyValuePair<TKey,TValue>::
  KeyValuePair(const TKey& key, const TValue& value) :
  
      fKey(key)
      , fValue(value)
  {
  }
  
  template <class TKey, class TValue> KeyValuePair<TKey,TValue>::
  KeyValuePair(const KeyValuePair<TKey,TValue>& toCopy) :
  
      fKey(toCopy.fKey)
      , fValue(toCopy.fValue)
  {
  }
  
  template <class TKey, class TValue> KeyValuePair<TKey,TValue>::~KeyValuePair()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  KeyValuePair: Getters
  // ---------------------------------------------------------------------------
  template <class TKey, class TValue> const TKey&
  KeyValuePair<TKey,TValue>::getKey() const
  {
      return fKey;
  
  }
  
  template <class TKey, class TValue> TKey& KeyValuePair<TKey,TValue>::getKey()
  {
      return fKey;
  }
  
  template <class TKey, class TValue> const TValue&
  KeyValuePair<TKey,TValue>::getValue() const
  {
      return fValue;
  }
  
  template <class TKey, class TValue> TValue& KeyValuePair<TKey,TValue>::getValue()
  {
      return fValue;
  }
  
  
  // ---------------------------------------------------------------------------
  //  KeyValuePair: Setters
  // ---------------------------------------------------------------------------
  template <class TKey, class TValue> TKey&
  KeyValuePair<TKey,TValue>::setKey(const TKey& newKey)
  {
      fKey = newKey;
      return fKey;
  }
  
  template <class TKey, class TValue> TValue&
  KeyValuePair<TKey,TValue>::setValue(const TValue& newValue)
  {
      fValue = newValue;
      return fValue;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/KeyValuePair.hpp
  
  Index: KeyValuePair.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: KeyValuePair.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:41  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:31  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:09  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(KEYVALUEPAIR_HPP)
  #define KEYVALUEPAIR_HPP
  
  
  #include <util/XercesDefs.hpp>
  
  
  template <class TKey, class TValue> class KeyValuePair
  {
      public  :
          // -------------------------------------------------------------------
          //  Constructors and Destructor
          // -------------------------------------------------------------------
          KeyValuePair();
          KeyValuePair(const TKey& key, const TValue& value);
          KeyValuePair(const KeyValuePair<TKey,TValue>& toCopy);
          ~KeyValuePair();
  
  
          // -------------------------------------------------------------------
          //  Getters
          // -------------------------------------------------------------------
          const TKey& getKey() const;
          TKey& getKey();
          const TValue& getValue() const;
          TValue& getValue();
  
  
          // -------------------------------------------------------------------
          //  Setters
          // -------------------------------------------------------------------
          TKey& setKey(const TKey& newKey);
          TValue& setValue(const TValue& newValue);
  
  
      private :
          // -------------------------------------------------------------------
          //  Private data members
          //
          //  fKey
          //      The object that represents the key of the pair
          //
          //  fValue
          //      The object that represents the value of the pair
          // -------------------------------------------------------------------
          TKey    fKey;
          TValue  fValue;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/KeyValuePair.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Mutexes.hpp
  
  Index: Mutexes.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Mutexes.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:42  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:46  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:10  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(MUTEXES_HPP)
  #define MUTEXES_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT XMLMutex
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLMutex();
  
      ~XMLMutex();
  
  
      // -----------------------------------------------------------------------
      //  Lock control methods
      // -----------------------------------------------------------------------
      void lock();
      void unlock();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLMutex(const XMLMutex&);
      void operator=(const XMLMutex&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fHandle
      //      The raw mutex handle. Its just a void pointer so we do not
      //      pass judgement on its value at all. We just pass it into the
      //      platform utilities methods which knows what's really in it.
      // -----------------------------------------------------------------------
      void*   fHandle;
      
  
      // -----------------------------------------------------------------------
      //  Sun PlatformUtils needs acess to fHandle to initialize the
      //  atomicOpsMutex at startup.
      // -----------------------------------------------------------------------
      friend class XMLPlatformUtils;
  };
  
  
  class XMLUTIL_EXPORT XMLMutexLock
  {
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  public:
      XMLMutexLock(XMLMutex* const toLock);
      ~XMLMutexLock();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLMutexLock();
      XMLMutexLock(const XMLMutexLock&);
      void operator=(const XMLMutexLock&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fToLock
      //      The mutex object that we are locking
      // -----------------------------------------------------------------------
      XMLMutex*   fToLock;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NameIdPool.c
  
  Index: NameIdPool.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: NameIdPool.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:42  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:47  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:10  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/NameIdPool.hpp>
  #endif
  
  #include <util/IllegalArgumentException.hpp>
  #include <util/NoSuchElementException.hpp>
  #include <util/RuntimeException.hpp>
  
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPoolBucketElem: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> NameIdPoolBucketElem<TElem>::
  NameIdPoolBucketElem(TElem* const                           value
                      , NameIdPoolBucketElem<TElem>* const    next) :
      fData(value)
      , fNext(next)
  {
  }
  
  template <class TElem> NameIdPoolBucketElem<TElem>::~NameIdPoolBucketElem()
  {
      // Nothing to do
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPool: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem>
  NameIdPool<TElem>::NameIdPool(  const   unsigned int    hashModulus
                                  , const unsigned int    initSize) :
      fBucketList(0)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
      , fHashModulus(hashModulus)
  {
      if (!fHashModulus)
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_ZeroModulus);
  
      // Allocate the bucket list and zero them
      fBucketList = new NameIdPoolBucketElem<TElem>*[fHashModulus];
      for (unsigned int index = 0; index < fHashModulus; index++)
          fBucketList[index] = 0;
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TElem*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TElem> NameIdPool<TElem>::~NameIdPool()
  {
      //
      //  Delete the id pointers list. The stuff it points to will be cleaned
      //  up when we clean the bucket lists.
      //
      delete [] fIdPtrs;
  
      // Remove all elements then delete the bucket list
      removeAll();
      delete [] fBucketList;
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPool: Element management
  // ---------------------------------------------------------------------------
  template <class TElem> bool
  NameIdPool<TElem>::containsKey(const XMLCh* const key) const
  {
      unsigned int hashVal;
      const NameIdPoolBucketElem<TElem>* findIt = findBucketElem(key, hashVal);
      return (findIt != 0);
  }
  
  
  template <class TElem> void NameIdPool<TElem>::removeAll()
  {
      // Clean up the buckets first
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          NameIdPoolBucketElem<TElem>* curElem = fBucketList[buckInd];
          NameIdPoolBucketElem<TElem>* nextElem;
          while (curElem)
          {
              // Save the next element before we hose this one
              nextElem = curElem->fNext;
  
              delete curElem->fData;
              delete curElem;
  
              curElem = nextElem;
          }
  
          // Empty out the bucket
          fBucketList[buckInd] = 0;
      }
  
      // Reset the id counter
      fIdCounter = 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPool: Getters
  // ---------------------------------------------------------------------------
  template <class TElem> TElem*
  NameIdPool<TElem>::getByKey(const XMLCh* const key)
  {
      unsigned int hashVal;
      NameIdPoolBucketElem<TElem>* findIt = findBucketElem(key, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TElem> const TElem*
  NameIdPool<TElem>::getByKey(const XMLCh* const key) const
  {
      unsigned int hashVal;
      const NameIdPoolBucketElem<TElem>* findIt = findBucketElem(key, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TElem> TElem*
  NameIdPool<TElem>::getById(const unsigned int elemId)
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  template <class TElem>
  const TElem* NameIdPool<TElem>::getById(const unsigned int elemId) const
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPool: Setters
  // ---------------------------------------------------------------------------
  template <class TElem>
  unsigned int NameIdPool<TElem>::put(TElem* const elemToAdopt)
  {
      // First see if the key exists already. If so, its an error
      unsigned int hashVal;
      if (findBucketElem(elemToAdopt->getKey(), hashVal))
      {
          ThrowXML1
          (
              IllegalArgumentException
              , XMLExcepts::Pool_ElemAlreadyExists
              , elemToAdopt->getKey()
          );
      }
  
      // Create a new bucket element and add it to the appropriate list
      NameIdPoolBucketElem<TElem>* newBucket = new NameIdPoolBucketElem<TElem>
      (
          elemToAdopt
          , fBucketList[hashVal]
      );
      fBucketList[hashVal] = newBucket;
  
      //
      //  Give this new one the next available id and add to the pointer list.
      //  Expand the list if that is now required.
      //
      if (fIdCounter + 1 == fIdPtrsCount)
      {
          // Create a new count 1.5 times larger and allocate a new array
          unsigned int newCount = (unsigned int)(fIdPtrsCount * 1.5);
          TElem** newArray = new TElem*[newCount];
  
          // Copy over the old contents to the new array
          memcpy(newArray, fIdPtrs, fIdPtrsCount * sizeof(TElem*));
  
          // Ok, toss the old array and store the new data
          delete [] fIdPtrs;
          fIdPtrs = newArray;
          fIdPtrsCount = newCount;
      }
      const unsigned int retId = ++fIdCounter;
      fIdPtrs[retId] = elemToAdopt;
  
      // Set the id on the passed element
      elemToAdopt->setId(retId);
  
      // Return the id that we gave to this element
      return retId;
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPool: Private methods
  // ---------------------------------------------------------------------------
  template <class TElem>
  NameIdPoolBucketElem<TElem>* NameIdPool<TElem>::
  findBucketElem(const XMLCh* const key, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = XMLString::hash(key, fHashModulus);
  
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::Pool_BadHashFromKey);
  
      // Search that bucket for the key
      NameIdPoolBucketElem<TElem>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (!XMLString::compareString(key, curElem->fData->getKey()))
              return curElem;
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  template <class TElem>
  const NameIdPoolBucketElem<TElem>* NameIdPool<TElem>::
  findBucketElem(const XMLCh* const key, unsigned int& hashVal) const
  {
      // Hash the key
      hashVal = XMLString::hash(key, fHashModulus);
  
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::Pool_BadHashFromKey);
  
      // Search that bucket for the key
      const NameIdPoolBucketElem<TElem>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (!XMLString::compareString(key, curElem->fData->getKey()))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPoolEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> NameIdPoolEnumerator<TElem>::
  NameIdPoolEnumerator(NameIdPool<TElem>* const toEnum) :
  
      fCurIndex(0)
      , fToEnum(toEnum)
  {
      //
      //  Find the next available bucket element in the pool. We use the id
      //  array since its very easy to enumerator through by just maintaining
      //  an index. If the id counter is zero, then its empty and we leave the
      //  current index to zero.
      //
      if (toEnum->fIdCounter)
          fCurIndex = 1;
  }
  
  template <class TElem> NameIdPoolEnumerator<TElem>::
  NameIdPoolEnumerator(const NameIdPoolEnumerator<TElem>& toCopy) :
  
      fCurIndex(toCopy.fCurIndex)
      , fToEnum(toCopy.fToEnum)
  {
  }
  
  template <class TElem> NameIdPoolEnumerator<TElem>::~NameIdPoolEnumerator()
  {
      // We don't own the pool being enumerated, so no cleanup required
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPoolEnumerator: Public operators
  // ---------------------------------------------------------------------------
  template <class TElem> NameIdPoolEnumerator<TElem>& NameIdPoolEnumerator<TElem>::
  operator=(const NameIdPoolEnumerator<TElem>& toAssign)
  {
      if (this == &toAssign)
          return *this;
  
      fCurIndex   = toAssign.fCurIndex;
      fToEnum     = toAssign.fToEnum;
      return *this;
  }
  
  
  // ---------------------------------------------------------------------------
  //  NameIdPoolEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool NameIdPoolEnumerator<TElem>::
  hasMoreElements() const
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          return false;
      return true;
  }
  
  template <class TElem> TElem& NameIdPoolEnumerator<TElem>::nextElement()
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          ThrowXML(NoSuchElementException, XMLExcepts::Enum_NoMoreElements);
  
      // Return the current element and bump the index
      return *fToEnum->fIdPtrs[fCurIndex++];
  }
  
  
  template <class TElem> void NameIdPoolEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NameIdPool.hpp
  
  Index: NameIdPool.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: NameIdPool.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/09/09 00:11:48  andyh
   * Virtual Destructor Patch, submitted by Kirk Wylie
   *
   * Revision 1.5  2000/07/19 18:47:26  andyh
   * More Macintosh port tweaks, submitted by James Berry.
   *
   * Revision 1.4  2000/03/02 19:54:42  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:24  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:02  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:48  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:10  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(NAMEIDPOOL_HPP)
  #define NAMEIDPOOL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <string.h>
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TElem> class NameIdPoolEnumerator;
  
  
  //
  //  This class is provided to serve as the basis of many of the pools that
  //  are used by the scanner and validators. They often need to be able to
  //  store objects in such a way that they can be quickly accessed by the
  //  name field of the object, and such that each element added is assigned
  //  a unique id via which it can be accessed almost instantly.
  //
  //  Object names are enforced as being unique, since that's what all these
  //  pools require. So its effectively a hash table in conjunction with an
  //  array of references into the hash table by id. Ids are assigned such that
  //  id N can be used to get the Nth element from the array of references.
  //  This provides very fast access by id.
  //
  //  The way these pools are used, elements are never removed except when the
  //  whole thing is flushed. This makes it very easy to maintain the two 
  //  access methods in sync.
  //
  //  For efficiency reasons, the id refererence array is never flushed until
  //  the dtor. This way, it does not have to be regrown every time its reused.
  //
  //  All elements are assumed to be owned by the pool!
  //
  //  We have to have a bucket element structure to use to maintain the linked
  //  lists for each bucket. Because some of the compilers we have to support
  //  are totally brain dead, it cannot be a nested class as it should be.
  //
  template <class TElem> struct NameIdPoolBucketElem
  {
  public :
      NameIdPoolBucketElem
      (
          TElem* const                            value
          , NameIdPoolBucketElem<TElem>* const    next
      );
      ~NameIdPoolBucketElem();
  
      TElem*                          fData;
      NameIdPoolBucketElem<TElem>*    fNext;
  };
  
  
  template <class TElem> class NameIdPool
  {
  public :
      // -----------------------------------------------------------------------
      //  Contructors and Destructor
      // -----------------------------------------------------------------------
      NameIdPool
      (
          const   unsigned int    hashModulus
          , const unsigned int    initSize = 128
      );
  
      ~NameIdPool();
  
  
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      bool containsKey(const XMLCh* const key) const;
      void removeAll();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      TElem* getByKey(const XMLCh* const key);
      const TElem* getByKey(const XMLCh* const key) const;
      TElem* getById(const unsigned elemId);
      const TElem* getById(const unsigned elemId) const;
  
  
      // -----------------------------------------------------------------------
      //  Putters
      //
      //  Dups are not allowed and cause an IllegalArgumentException. The id
      //  of the new element is returned.
      // -----------------------------------------------------------------------
      unsigned int put(TElem* const valueToAdopt);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Declare the enumerator our friend so he can see our members
      // -----------------------------------------------------------------------
      friend class NameIdPoolEnumerator<TElem>;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unused constructors and operators
      // -----------------------------------------------------------------------
      NameIdPool(const NameIdPool<TElem>&);
      void operator=(const NameIdPool<TElem>&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      NameIdPoolBucketElem<TElem>* findBucketElem
      (
          const XMLCh* const      key
          ,     unsigned int&     hashVal
      );
      const NameIdPoolBucketElem<TElem>* findBucketElem
      (
          const   XMLCh* const    key
          ,       unsigned int&   hashVal
      )   const;
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fBucketList
      //      This is the array that contains the heads of all of the list
      //      buckets, one for each possible hash value.
      //
      //  fIdPtrs
      //  fIdPtrsCount
      //      This is the array of pointers to the bucket elements in order of
      //      their assigned ids. So taking id N and referencing this array
      //      gives you the element with that id. The count field indicates
      //      the current size of this list. When fIdCounter+1 reaches this
      //      value the list must be expanded.
      //
      //  fIdCounter
      //      This is used to give out unique ids to added elements. It starts
      //      at zero (which means empty), and is bumped up for each newly added
      //      element. So the first element is 1, the next is 2, etc... This
      //      means that this value is set to the top index of the fIdPtrs array.
      //
      //  fHashModulus
      //      This is the modulus to use in this pool. The fBucketList array
      //      is of this size. It should be a prime number.
      // -----------------------------------------------------------------------
      NameIdPoolBucketElem<TElem>**   fBucketList;
      TElem**                         fIdPtrs;
      unsigned int                    fIdPtrsCount;
      unsigned int                    fIdCounter;
      unsigned int                    fHashModulus;
  };
  
  
  //
  //  An enumerator for a name id pool. It derives from the basic enumerator
  //  class, so that pools can be generically enumerated.
  //
  template <class TElem> class NameIdPoolEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      NameIdPoolEnumerator
      (
                  NameIdPool<TElem>* const    toEnum
      );
  
      NameIdPoolEnumerator
      (
          const   NameIdPoolEnumerator<TElem>& toCopy
      );
  
      virtual ~NameIdPoolEnumerator();
  
      // -----------------------------------------------------------------------
      //  Public operators
      // -----------------------------------------------------------------------
      NameIdPoolEnumerator<TElem>& operator=
      (
          const   NameIdPoolEnumerator<TElem>& toAssign
      );
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fCurIndex
      //      This is the current index into the pool's id mapping array. This
      //      is now we enumerate it.
      //
      //  fToEnum
      //      The name id pool that is being enumerated.
      // -----------------------------------------------------------------------
      unsigned int        fCurIndex;
      NameIdPool<TElem>*  fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/NameIdPool.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NoDefTranscoderException.hpp
  
  Index: NoDefTranscoderException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: NoDefTranscoderException.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:43  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:49  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:10  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(NODEFTRANSCODEREXCEPTION_HPP)
  #define NODEFTRANSCODEREXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  class XMLUTIL_EXPORT NoDefTranscoderException : public XMLException
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      NoDefTranscoderException() :
  
          XMLException("", "NoDefTranscoderException")
      {
      }
  
      NoDefTranscoderException(const XMLCh* const msg) :
  
          XMLException(msg, "NoDefTranscoderException")
      {
      }
  
      NoDefTranscoderException(const char* const msg) :
  
          XMLException(msg, "NoDefTranscoderException")
      {
      }
  
      NoDefTranscoderException(const NoDefTranscoderException& toCopy) :
  
          XMLException(toCopy)
      {
      }
  
      virtual ~NoDefTranscoderException()
      {
      }
  
  
      // -----------------------------------------------------------------------
      //  A special ctor called during init if we cannot create a def xcoder.
      //  This one takes both messages so that no transcoding is required in
      //  order to throw it.
      // -----------------------------------------------------------------------
      NoDefTranscoderException(const XMLCh* const type, const XMLCh* const msg) :
  
          XMLException(msg, type)
      {
      }
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
      virtual XMLException* duplicate() const
      {
          return new NoDefTranscoderException(*this);
      }
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NoSuchElementException.hpp
  
  Index: NoSuchElementException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NoSuchElementException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(NOSUCHELEMENTEXCEPTION_HPP)
  #define NOSUCHELEMENTEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(NoSuchElementException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NullPointerException.hpp
  
  Index: NullPointerException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NullPointerException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(NULLPOINTEREXCEPTION_HPP)
  #define NULLPOINTEREXCEPTION_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(NullPointerException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/NumberFormatException.hpp
  
  Index: NumberFormatException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NumberFormatException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(NUMBERFORMATEXCEPTION_HPP)
  #define NUMBERFORMATEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(NumberFormatException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ParseException.hpp
  
  Index: ParseException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ParseException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(PARSEEXCEPTION_HPP)
  #define PARSEEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(ParseException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/PlatformUtils.hpp
  
  Index: PlatformUtils.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: PlatformUtils.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  
  #if !defined(PLATFORMUTILS_HPP)
  #define PLATFORMUTILS_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  class XMLMsgLoader;
  class XMLNetAccessor;
  class XMLTransService;
  
  
  //
  //  For internal use only
  //
  //  This class provides a simple abstract API via which lazily evaluated
  //  data can be cleaned up.
  //
  class XMLUTIL_EXPORT XMLDeleter
  {
  public :
      virtual ~XMLDeleter();
  
  protected :
      XMLDeleter();
  
  private :
      XMLDeleter(const XMLDeleter&);
      void operator=(const XMLDeleter&);
  };
  
  
  /**
    * Utilities that must be implemented in a platform-specific way.
    *
    * This class contains methods that must be implemented in a platform
    * specific manner. The actual implementations of these methods are
    * available in the per-platform files indide <code>src/util/Platforms
    * </code>.
    */
  class XMLUTIL_EXPORT XMLPlatformUtils
  {
  public :
      /** @name Public Types */
      //@{
      enum PanicReasons
      {
          Panic_NoTransService
          , Panic_NoDefTranscoder
          , Panic_CantFindLib
          , Panic_UnknownMsgDomain
          , Panic_CantLoadMsgDomain
          , Panic_SynchronizationErr
          , Panic_SystemInit
  
          , PanicReasons_Count
      };
      //@}
  
      /** @name Public Static Data */
      //@{
  
      /** The network accessor
        *
        * This is provided by the per-platform driver, so each platform can
        * choose what actual implementation it wants to use. The object must
        * be dynamically allocated.
        *
        * <i>Note that you may optionally, if your platform driver does not
        * install a network accessor, set it manually from your client code
        * after calling Initialize(). This works because this object is
        * not required during initialization, and only comes into play during
        * actual XML parsing.</i>
        */
      static XMLNetAccessor*      fgNetAccessor;
  
      /** The transcoding service.
        *
        * This is provided by the per platform driver, so each platform can
        * choose what implemenation it wants to use. When the platform
        * independent initialization code needs to get a transcoding service
        * object, it will call <code>makeTransService()</code> to ask the
        * per-platform code to create one. Only one transcoding service
        * object is reqeusted per-process, so it is shared and synchronized
        * among parser instances within that process.
        */
      static XMLTransService*     fgTransService;
  
      //@}
  
  
      /** @name Initialization amd Panic methods */
      //@{
  
      /** Perform per-process parser initialization
        *
        * Initialization <b>must</b> be called first in any client code.
        */
      static void Initialize();
  
      /** Perform per-process parser termination
        *
        * The termination call is currently optional, to aid those dynamically
        * loading the parser to clean up before exit, or to avoid spurious
        * reports from leak detectors.
        */
      static void Terminate();
  
      /** The panic mechanism.
        *
        * If, during initialization, we cannot even get far enough along
        * to get transcoding up or get message loading working, we call
        * this method.</p>
        *
        * Each platform can implement it however they want. This method is
        * expected to display something meaningful and end the process. The
        * enum indicates why its being called, to allow the per-platform code
        * to display or log something more specific if desired.</p>
        *
        * @param reason The enumeration that defines the cause of the failure
        */
      static void panic
      (
          const   PanicReasons    reason
      );
      //@}
  
      /** @name File Methods */
      //@{
  
      /** Get the current file position
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to deterine the current position within
        * the passed file.
        *
        * Since the file API provided here only reads, if the host platform
        * supports separate read/write positions, only the read position is
        * of any interest, and hence should be the one returned.
        *
        * @param theFile The file handle
        */
      static unsigned int curFilePos(FileHandle theFile);
  
      /** Closes the file handle
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to close the passed file handle, and to
        * destroy the passed file handle and any allocated data or system
        * resources it contains.
        *
        * @param theFile The file handle to close
        */
      static void closeFile(FileHandle theFile);
  
      /** Returns the file size
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to determine the current size of the file
        * represented by the passed handle.
        *
        * @param theFile The file handle whose size you want
        *
        * @return Returns the size of the file in bytes
        */
      static unsigned int fileSize(FileHandle theFile);
  
      /** Opens the file
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to open passed file. If it fails, a
        * null handle pointer should be returned.
        *
        * @param fileName The string containing the name of the file
        *
        * @return The file handle of the opened file
        */
      static FileHandle openFile(const char* const fileName);
  
      /** Opens a named file
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to open the passed file. If it fails, a
        * null handle pointer should be returned.
        *
        * @param fileName The string containing the name of the file
        *
        * @return The file handle of the opened file
        */
      static FileHandle openFile(const XMLCh* const fileName);
  
      /** Opens the standard input as a file
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to open a handle to the standard input.
        * It should be a copy of the standard input handle, since it will
        * be closed later!
        *
        * @return The file handle of the standard input stream
        */
      static FileHandle openStdInHandle();
  
      /** Reads the file buffer
        *
        * This must be implemented by the per-platform driver, which should
        * use local file services to read up to 'toRead' bytes of data from
        * the passed file, and return those bytes in the 'toFill' buffer. It
        * is not an error not to read the requested number of bytes. When the
        * end of file is reached, zero should be returned.
        *
        * @param theFile The file handle to be read from.
        * @param toRead The maximum number of byte to read from the current
        * position
        * @param toFill The byte buffer to fill
        *
        * @return Returns the number of bytes read from the stream or file
        */
      static unsigned int readFileBuffer
      (
                  FileHandle      theFile
          , const unsigned int    toRead
          ,       XMLByte* const  toFill
      );
  
      /** Resets the file handle
        *
        * This must be implemented by the per-platform driver which will use
        * local file services to reset the file position to the start of the
        * the file.
        *
        * @param theFile The file handle that you want to reset
        */
      static void resetFile(FileHandle theFile);
  
      //@}
  
  
      /** @name File System Methods */
      //@{
      /** Gets the full path from a relative path
        *
        * This must be implemented by the per-platform driver. It should
        * complete a relative path using the 'current directory', or whatever
        * the local equivalent of a current directory is. If the passed
        * source path is actually fully qualified, then a straight copy of it
        * will be returned.
        *
        * @param srcPath The path of the file for which you want the full path
        *
        * @return Returns the fully qualified path of the file name including
        * the file name. This is dyanmically allocated and must be deleted
        * by the caller when its no longer needed!
        */
      static XMLCh* getFullPath(const XMLCh* const srcPath);
  
      /** Determines if a path is relative or absolute
        *
        * This must be implemented by the per-platform driver, which should
        * determine whether the passed path is relative or not. The concept
        * of relative and absolute might be... well relative on different
        * platforms. But, as long as the determination is made consistently
        * and in coordination with the weavePaths() method, it should work
        * for any platform.
        *
        * @param toCheck The file name which you want to check
        *
        * @return Returns true if the filename appears to be relative
        */
      static bool isRelative(const XMLCh* const toCheck);
  
      /** Utility to join two paths
        *
        * This must be implemented by the per-platform driver, and should
        * weave the relative path part together with the base part and return
        * a new path that represents this combination.
        *
        * If the relative part turns out to be fully qualified, it will be
        * returned as is. If it is not, then it will be woven onto the
        * passed base path, by removing one path component for each leading
        * "../" (or whatever is the equivalent in the local system) in the
        * relative path.
        *
        * @param basePath The string containing the base path
        * @param relativePath The string containing the relative path
        *
        * @return Returns a string containing the 'woven' path. It should
        * be dynamically allocated and becomes the responsibility of the
        * caller to delete.
        */
      static XMLCh* weavePaths
      (
          const   XMLCh* const    basePath
          , const XMLCh* const    relativePath
      );
      //@}
  
      /** @name Timing Methods */
      //@{
  
      /** Gets the system time in milliseconds
        *
        * This must be implemented by the per-platform driver, which should
        * use local services to return the current value of a running
        * millisecond timer. Note that the value returned is only as accurate
        * as the millisecond time of the underyling host system.
        *
        * @return Returns the system time as an unsigned long
        */
      static unsigned long getCurrentMillis();
      //@}
  
      /** @name Mutex Methods */
      //@{
  
      /** Closes a mutex handle
        *
        * Each per-platform driver must implement this. Only it knows what
        * the actual content of the passed mutex handle is.
        *
        * @param mtxHandle The mutex handle that you want to close
        */
      static void closeMutex(void* const mtxHandle);
  
      /** Locks a mutex handle
        *
        * Each per-platform driver must implement this. Only it knows what
        * the actual content of the passed mutex handle is.
        *
        * @param mtxHandle The mutex handle that you want to lock
        */
      static void lockMutex(void* const mtxHandle);
  
      /** Make a new mutex
        *
        * Each per-platform driver must implement this. Only it knows what
        * the actual content of the passed mutex handle is. The returned
        * handle pointer will be eventually passed to closeMutex() which is
        * also implemented by the platform driver.
        */
      static void* makeMutex();
  
      /** Unlocks a mutex
        *
        * Each per-platform driver must implement this. Only it knows what
        * the actual content of the passed mutex handle is.
        *
        * Note that, since the underlying system synchronization services
        * are used, Xerces cannot guarantee that lock/unlock operaitons are
        * correctly enforced on a per-thread basis or that incorrect nesting
        * of lock/unlock operations will be caught.
        *
        * @param mtxGandle The mutex handle that you want to unlock
        */
      static void unlockMutex(void* const mtxHandle);
  
      //@}
  
  
      /** @name External Message Support */
      //@{
  
      /** Loads the message set from among the available domains
        *
        * The returned object must be dynamically allocated and the caller
        * becomes responsible for cleaning it up.
        *
        * @param msgDomain The message domain which you want to load
        */
      static XMLMsgLoader* loadMsgSet(const XMLCh* const msgDomain);
  
      //@}
  
      /** @name Miscellaneous synchronization methods */
      //@{
  
      /** Conditionally updates or returns a single word variable atomically
        *
        * This must be implemented by the per-platform driver. The
        * compareAndSwap subroutine performs an atomic operation which
        * compares the contents of a single word variable with a stored old
        * value. If the values are equal, a new value is stored in the single
        * word variable and TRUE is returned; otherwise, the old value is set
        * to the current value of the single word variable and FALSE is
        * returned.
        *
        * The compareAndSwap subroutine is useful when a word value must be
        * updated only if it has not been changed since it was last read.
        *
        * Note: The word containing the single word variable must be aligned
        * on a full word boundary.
        *
        * @param toFill Specifies the address of the single word variable
        * @param newValue Specifies the new value to be conditionally assigned
        * to the single word variable.
        * @param toCompare Specifies the address of the old value to be checked
        * against (and conditionally updated with) the value of the single word
        * variable.
        *
        * @return Returns the new value assigned to the single word variable
        */
      static void* compareAndSwap
      (
                  void**      toFill
          , const void* const newValue
          , const void* const toCompare
      );
  
      //@}
  
  
      /** @name Atomic Increment and Decrement */
      //@{
  
      /** Increments a single word variable atomically.
        *
        * This must be implemented by the per-platform driver. The
        * atomicIncrement subroutine increments one word in a single atomic
        * operation. This operation is useful when a counter variable is shared
        * between several threads or processes. When updating such a counter
        * variable, it is important to make sure that the fetch, update, and
        * store operations occur atomically (are not interruptible).
        *
        * @param location Specifies the address of the word variable to be
        * incremented.
        *
        * @return The function return value is positive if the result of the
        * operation was positive. Zero if the result of the operation was zero.
        * Negative if the result of the operation was negative. Except for the
        * zero case, the value returned may differ from the actual result of
        * the operation - only the sign and zero/nonzero state is guaranteed
        * to be correct.
        */
      static int atomicIncrement(int& location);
  
      /** Decrements a single word variable atomically.
        *
        * This must be implemented by the per-platform driver. The
        * atomicDecrement subroutine increments one word in a single atomic
        * operation. This operation is useful when a counter variable is shared
        * between several threads or processes. When updating such a counter
        * variable, it is important to make sure that the fetch, update, and
        * store operations occur atomically (are not interruptible).
        *
        * @param location Specifies the address of the word variable to be
        * decremented.
        *
        * @return The function return value is positive if the result of the
        * operation was positive. Zero if the result of the operation was zero.
        * Negative if the result of the operation was negative. Except for the
        * zero case, the value returned may differ from the actual result of the
        * operation - only the sign and zero/nonzero state is guaranteed to be
        * correct.
        */
      static int atomicDecrement(int& location);
  
      //@}
  
      /** @name NEL Character Handling  */
      //@{
  	/**
        * This function enables the recognition of NEL char as whitespace chars
        * which is disabled by default.
        * It is only called once per process. Once it is set, any subsequent calls
        * will result in exception being thrown.
        *
        * Note: Turning this option on will make the parser non complicant.
        */
      static void recognizeNEL(bool state);
  
      /**
        * Return the value of fgNEL flag.
        */
      static bool isNELRecognized();
      //@}
  
  
  private :
      /** @name Private static methods */
      //@{
  
      /** Loads a message set from the available domains
        *
        * @param msgDomain The message domain containing the message to be
        * loaded
        */
      static XMLMsgLoader* loadAMsgSet(const XMLCh* const msgDomain);
  
      /** Creates a net accessor object.
        *
        * Each per-platform driver must implement this method. However,
        * having a Net Accessor is optional and this method can return a
        * null pointer if remote access via HTTP and FTP URLs is not required.
        *
        * @return An object derived from XMLNetAccessor. It must be dynamically
        *         allocated, since it will be deleted later.
        */
      static XMLNetAccessor* makeNetAccessor();
  
      /** Creates a Transoding service
        *
        * Each per-platform driver must implement this method and return some
        * derivative of the XMLTransService class. This object serves as the
        * transcoder factory for this process. The object must be dynamically
        * allocated and the caller is responsible for cleaning it up.
        *
        * @return A dynamically allocated object of some class derived from
        *         the XMLTransService class.
        */
      static XMLTransService* makeTransService();
  
      /** Does initialization for a particular platform
        *
        * Each per-platform driver must implement this to do any low level
        * system initialization required. It <b>cannot</b> use any XML
        * parser or utilities services!
        */
      static void platformInit();
  
      /** Does termination for a particular platform
        *
        * Each per-platform driver must implement this to do any low level
        * system resource cleanup required. It <b>cannot</b> use any XML
        * parser or utilities services!
        */
      static void platformTerm();
  
      //@}
  };
  
  
  MakeXMLException(XMLPlatformUtilsException, XMLUTIL_EXPORT)
  
  
  
  // ---------------------------------------------------------------------------
  //  XMLDeleter: Public Destructor
  // ---------------------------------------------------------------------------
  inline XMLDeleter::~XMLDeleter()
  {
  }
  
  // ---------------------------------------------------------------------------
  //  XMLDeleter: Hidden constructors and operators
  // ---------------------------------------------------------------------------
  inline XMLDeleter::XMLDeleter()
  {
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/QName.hpp
  
  Index: QName.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: QName.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/07/24 18:31:47  knoaman
   * Added support for <group> + extra constraint checking for complexType
   *
   * Revision 1.6  2001/05/11 13:26:28  tng
   * Copyright update.
   *
   * Revision 1.5  2001/04/19 18:17:10  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.4  2001/03/21 21:56:12  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.3  2001/02/27 14:48:39  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.2  2001/02/26 21:56:16  tng
   * Schema: QName can also be constructed with rawName.
   *
   * Revision 1.1  2001/02/26 19:44:25  tng
   * Schema: add utility class QName, by Pei Yong Zhang.
   *
   */
  
  #if !defined(QNAME_HPP)
  #define QNAME_HPP
  
  #include <util/XMLString.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <util/XMLUni.hpp>
  
  class XMLUTIL_EXPORT QName
  {
  public :
      // -----------------------------------------------------------------------
      //  Contructors and Destructor
      // -----------------------------------------------------------------------
      /** Default constructor. */
      QName();
  
      /** Constructs a specified qname using prefix, and localpart. */
      QName
      (   const XMLCh* const        prefix
        , const XMLCh* const        localPart
  	   , const unsigned int        uriId
      );
  
      /** Constructs a specified qname using rawName. */
      QName
      (   const XMLCh* const        rawName
  	   , const unsigned int        uriId
      );
  
      /** Copy constructor. */
      QName(const QName* const qname);
  
      ~QName();
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      const XMLCh* getPrefix() const;
      XMLCh* getPrefix();
  
      const XMLCh* getLocalPart() const;
      XMLCh* getLocalPart();
  
      const unsigned int getURI() const;
      unsigned int getURI();
  
      const XMLCh* getRawName() const;
      XMLCh* getRawName();
  
      // -----------------------------------------------------------------------
      //  Setters
      // -----------------------------------------------------------------------
      void setName
      (
          const XMLCh* const        prefix
        , const XMLCh* const        localPart
  	   , const unsigned int        uriId
      );
  
      void setName
      (
          const XMLCh* const        rawName
  	   , const unsigned int        uriId
      );
  
      void setPrefix(const XMLCh*) ;
      void setLocalPart(const XMLCh*) ;
      void setURI(const unsigned int) ;
  
      void setValues(const QName& qname);
  
      // -----------------------------------------------------------------------
      //  comparison
      // -----------------------------------------------------------------------
      bool operator==(const QName&);
  
      // -----------------------------------------------------------------------
      //  Misc
      // -----------------------------------------------------------------------
      void cleanUp();
  
  private :
  
      // -----------------------------------------------------------------------
      //  Private instance variables
      //
      //  We copy the followings from XMLAttr.hpp, but stick to Java version's
      //  naming convention
      //
      //  fPrefix
      //  fPrefixBufSz
      //      The prefix that was applied to this attribute's name, and the
      //      current size of the buffer (minus one for the null.) Prefixes
      //      really don't matter technically but it might be required for
      //      pratical reasons, to recreate the original document for instance.
      //
      //  fLocalPart
      //  fLocalPartBufSz
      //      The base part of the name of the attribute, and the current size
      //      of the buffer (minus one, where the null is.)
      //
      //  fRawName
      //  fRawNameBufSz
      //      This is the QName form of the name, which is faulted in (from the
      //      prefix and name) upon request. The size field indicates the
      //      current size of the buffer (minus one for the null.) It will be
      //      zero until fauled in.
      //
      //  fURIId
      //      The id of the URI that this attribute belongs to.
      // -----------------------------------------------------------------------
      XMLCh*              fPrefix;
      unsigned int        fPrefixBufSz;
      XMLCh*              fLocalPart;
      unsigned int        fLocalPartBufSz;
      XMLCh*              fRawName;
      unsigned int        fRawNameBufSz;
      unsigned int        fURIId;
  
  };
  
  // ---------------------------------------------------------------------------
  //  QName: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* QName::getPrefix() const
  {
  	return fPrefix;
  }
  
  inline XMLCh* QName::getPrefix()
  {
  	return fPrefix;
  }
  
  inline const XMLCh* QName::getLocalPart() const
  {
  	return fLocalPart;
  }
  
  inline XMLCh* QName::getLocalPart()
  {
  	return fLocalPart;
  }
  
  inline const unsigned int QName::getURI() const
  {
  	return fURIId;
  }
  
  inline unsigned int QName::getURI()
  {
  	return fURIId;
  }
  
  // ---------------------------------------------------------------------------
  //  QName: Setter methods
  // ---------------------------------------------------------------------------
  inline void QName::setURI(const unsigned int uriId)
  {
      fURIId = uriId;
  }
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefArrayOf.c
  
  Index: RefArrayOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefArrayOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:44  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:56  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefArrayOf.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayOf: Contructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefArrayOf<TElem>::RefArrayOf(const unsigned int size) :
  
      fSize(size)
      , fArray(0)
  {
      fArray = new TElem*[fSize];
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = 0;
  }
  
  template <class TElem> RefArrayOf<TElem>::
  RefArrayOf(TElem* values[], const unsigned int size) :
  
      fSize(size)
      , fArray(0)
  {
      fArray = new TElem*[fSize];
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = values[index];
  }
  
  template <class TElem> RefArrayOf<TElem>::
  RefArrayOf(const RefArrayOf<TElem>& source) :
  
      fSize(source.fSize)
      , fArray(0)
  {
      fArray = new TElem*[fSize];
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = source.fArray[index];
  }
  
  template <class TElem> RefArrayOf<TElem>::~RefArrayOf()
  {
      delete [] fArray;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayOf: Public operators
  // ---------------------------------------------------------------------------
  template <class TElem> TElem*& RefArrayOf<TElem>::
  operator[](const unsigned int index)
  {
      if (index >= fSize)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
      return fArray[index];
  }
  
  template <class TElem> const TElem* RefArrayOf<TElem>::
  operator[](const unsigned int index) const
  {
      if (index >= fSize)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
      return fArray[index];
  }
  
  template <class TElem> RefArrayOf<TElem>& RefArrayOf<TElem>::
  operator=(const RefArrayOf<TElem>& toAssign)
  {
      if (this == &toAssign)
          return *this;
  
      // Reallocate if not the same size
      if (toAssign.fSize != fSize)
      {
          delete [] fArray;
          fSize = toAssign.fSize;
          fArray = new TElem*[fSize];
      }
  
      // Copy over the source elements
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = toAssign.fArray[index];
  
      return *this;
  }
  
  template <class TElem> bool RefArrayOf<TElem>::
  operator==(const RefArrayOf<TElem>& toCompare) const
  {
      if (this == &toCompare)
          return true;
  
      if (fSize != toCompare.fSize)
          return false;
  
      for (unsigned int index = 0; index < fSize; index++)
      {
          if (fArray[index] != toCompare.fArray[index])
              return false;
      }
      return true;
  }
  
  template <class TElem> bool RefArrayOf<TElem>::
  operator!=(const RefArrayOf<TElem>& toCompare) const
  {
      return !operator==(toCompare);
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayOf: Copy operations
  // ---------------------------------------------------------------------------
  template <class TElem> unsigned int RefArrayOf<TElem>::
  copyFrom(const RefArrayOf<TElem>& srcArray)
  {
      //
      //  Copy over as many of the source elements as will fit into
      //  this array.
      //
      const unsigned int count = fSize < srcArray.fSize ?
                                      fSize : srcArray.fSize;
  
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = srcArray.fArray[index];
  
      return count;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> unsigned int RefArrayOf<TElem>::length() const
  {
      return fSize;
  }
  
  template <class TElem> TElem** RefArrayOf<TElem>::rawData() const
  {
      return fArray;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayOf: Element management methods
  // ---------------------------------------------------------------------------
  template <class TElem> void RefArrayOf<TElem>::deleteAt(const unsigned int index)
  {
      if (index >= fSize)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
  
      delete fArray[index];
      fArray[index] = 0;
  }
  
  template <class TElem> void RefArrayOf<TElem>::deleteAllElements()
  {
      for (unsigned int index = 0; index < fSize; index++)
      {
          delete fArray[index];
          fArray[index] = 0;
      }
  }
  
  template <class TElem> void RefArrayOf<TElem>::resize(const unsigned int newSize)
  {
      if (newSize == fSize)
          return;
  
      if (newSize < fSize)
          ThrowXML(IllegalArgumentException, XMLExcepts::Array_BadNewSize);
  
      // Allocate the new array
      TElem** newArray = new TElem*[newSize];
  
      // Copy the existing values
      unsigned int index = 0;
      for (; index < fSize; index++)
          newArray[index] = fArray[index];
  
      for (; index < newSize; index++)
          newArray[index] = 0;
  
      // Delete the old array and udpate our members
      delete [] fArray;
      fArray = newArray;
      fSize = newSize;
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefArrayEnumerator<TElem>::
  RefArrayEnumerator(         RefArrayOf<TElem>* const    toEnum
                      , const bool                        adopt) :
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
  {
  }
  
  template <class TElem> RefArrayEnumerator<TElem>::~RefArrayEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefArrayEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool RefArrayEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fToEnum->length())
          return false;
      return true;
  }
  
  template <class TElem> TElem& RefArrayEnumerator<TElem>::nextElement()
  {
      return *(*fToEnum)[fCurIndex++];
  }
  
  template <class TElem> void RefArrayEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefArrayOf.hpp
  
  Index: RefArrayOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefArrayOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:44  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:57  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(REFARRAY_HPP)
  #define REFARRAY_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/IllegalArgumentException.hpp>
  #include <util/XMLEnumerator.hpp>
  
  
  template <class TElem> class RefArrayOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Contructors and Destructor
      // -----------------------------------------------------------------------
      RefArrayOf(const unsigned int size);
  	RefArrayOf(TElem* values[], const unsigned int size);
  	RefArrayOf(const RefArrayOf<TElem>& source);
  	~RefArrayOf();
  
  
      // -----------------------------------------------------------------------
      //  Public operators
      // -----------------------------------------------------------------------
  	TElem*& operator[](const unsigned int index);
  	const TElem* operator[](const unsigned int index) const;
  	RefArrayOf<TElem>& operator=(const RefArrayOf<TElem>& toAssign);
  	bool operator==(const RefArrayOf<TElem>& toCompare) const;
  	bool operator!=(const RefArrayOf<TElem>& toCompare) const;
  
  
      // -----------------------------------------------------------------------
      //  Copy operations
      // -----------------------------------------------------------------------
      unsigned int copyFrom(const RefArrayOf<TElem>& srcArray);
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	unsigned int length() const;
  	TElem** rawData() const;
  
  
      // -----------------------------------------------------------------------
      //  Element management methods
      // -----------------------------------------------------------------------
      void deleteAt(const unsigned int index);
      void deleteAllElements();
      void resize(const unsigned int newSize);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Data members
      // -----------------------------------------------------------------------
  	unsigned int    fSize;
  	TElem**         fArray;
  };
  
  
  //
  //  An enumerator for a reference array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TElem> class RefArrayEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefArrayEnumerator
      (
                  RefArrayOf<TElem>* const    toEnum
          , const bool                        adopt = false
      );
      ~RefArrayEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed array. If so then
      //      we delete it when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the array.
      //
      //  fToEnum
      //      The reference array being enumerated.
      // -----------------------------------------------------------------------
      bool                fAdopted;
      unsigned int        fCurIndex;
      RefArrayOf<TElem>*  fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefArrayOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash2KeysTableOf.c
  
  Index: RefHash2KeysTableOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefHash2KeysTableOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/07/19 18:43:18  peiyongz
   * fix: detect null poiniter in enumerator's ctor.
   *
   * Revision 1.4  2001/06/04 13:45:03  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.3  2001/05/11 13:26:28  tng
   * Copyright update.
   *
   * Revision 1.2  2001/03/14 13:18:21  tng
   * typo: should use fKey1
   *
   * Revision 1.1  2001/02/27 18:24:00  tng
   * Schema: Add utility RefHash2KeysTableOf.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Include
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefHash2KeysTableOf.hpp>
  #endif
  
  #include <util/NullPointerException.hpp>
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems)
  	: fAdoptedElems(adoptElems), fBucketList(0), fHashModulus(modulus)
  {
      initialize(modulus);
  	
  	// create default hasher
  	fHash = new HashXMLCh();
  }
  
  template <class TVal> RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase)
  	: fAdoptedElems(adoptElems), fBucketList(0), fHashModulus(modulus)
  {
  	initialize(modulus);
  	// set hasher
  	fHash = hashBase;
  }
  
  template <class TVal> RefHash2KeysTableOf<TVal>::RefHash2KeysTableOf(const unsigned int modulus)
  	: fAdoptedElems(true), fBucketList(0), fHashModulus(modulus)
  {
  	initialize(modulus);
  
  	// create default hasher
  	fHash = new HashXMLCh();
  }
  
  template <class TVal> void RefHash2KeysTableOf<TVal>::initialize(const unsigned int modulus)
  {
  	if (modulus == 0)
          ThrowXML(IllegalArgumentException, XMLExcepts::HshTbl_ZeroModulus);
  
      // Allocate the bucket list and zero them
      fBucketList = new RefHash2KeysTableBucketElem<TVal>*[fHashModulus];
      for (unsigned int index = 0; index < fHashModulus; index++)
          fBucketList[index] = 0;
  }
  
  template <class TVal> RefHash2KeysTableOf<TVal>::~RefHash2KeysTableOf()
  {
      removeAll();
  
      // Then delete the bucket list & hasher
      delete [] fBucketList;
  	delete fHash;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOf: Element management
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHash2KeysTableOf<TVal>::isEmpty() const
  {
      // Just check the bucket list for non-empty elements
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          if (fBucketList[buckInd] != 0)
              return false;
      }
      return true;
  }
  
  template <class TVal> bool RefHash2KeysTableOf<TVal>::
  containsKey(const void* const key1, const int key2) const
  {
      unsigned int hashVal;
      const RefHash2KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, hashVal);
      return (findIt != 0);
  }
  
  template <class TVal> void RefHash2KeysTableOf<TVal>::
  removeKey(const void* const key1, const int key2)
  {
      unsigned int hashVal;
      removeBucketElem(key1, key2, hashVal);
  }
  
  template <class TVal> void RefHash2KeysTableOf<TVal>::removeAll()
  {
      // Clean up the buckets first
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          // Get the bucket list head for this entry
          RefHash2KeysTableBucketElem<TVal>* curElem = fBucketList[buckInd];
          RefHash2KeysTableBucketElem<TVal>* nextElem;
          while (curElem)
          {
              // Save the next element before we hose this one
              nextElem = curElem->fNext;
  
              // If we adopted the data, then delete it too
              //    (Note:  the userdata hash table instance has data type of void *.
              //    This will generate compiler warnings here on some platforms, but they
              //    can be ignored since fAdoptedElements is false.
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Then delete the current element and move forward
              delete curElem;
              curElem = nextElem;
          }
  
          // Clean out this entry
          fBucketList[buckInd] = 0;
      }
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOf: Getters
  // ---------------------------------------------------------------------------
  template <class TVal> TVal* RefHash2KeysTableOf<TVal>::get(const void* const key1, const int key2)
  {
      unsigned int hashVal;
      RefHash2KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> const TVal* RefHash2KeysTableOf<TVal>::
  get(const void* const key1, const int key2) const
  {
      unsigned int hashVal;
      const RefHash2KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOf: Putters
  // ---------------------------------------------------------------------------
  template <class TVal> void RefHash2KeysTableOf<TVal>::put(void* key1, int key2, TVal* const valueToAdopt)
  {
      // First see if the key exists already
      unsigned int hashVal;
      RefHash2KeysTableBucketElem<TVal>* newBucket = findBucketElem(key1, key2, hashVal);
  
      //
      //  If so,then update its value. If not, then we need to add it to
      //  the right bucket
      //
      if (newBucket)
      {
          if (fAdoptedElems)
              delete newBucket->fData;
          newBucket->fData = valueToAdopt;
  		newBucket->fKey1 = key1;
  		newBucket->fKey2 = key2;
      }
       else
      {
          newBucket = new RefHash2KeysTableBucketElem<TVal>(key1, key2, valueToAdopt, fBucketList[hashVal]);
          fBucketList[hashVal] = newBucket;
      }
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOf: Private methods
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash2KeysTableBucketElem<TVal>* RefHash2KeysTableOf<TVal>::
  findBucketElem(const void* const key1, const int key2, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      RefHash2KeysTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
  		if (fHash->equals(key1, curElem->fKey1) && (key2==curElem->fKey2))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  template <class TVal> const RefHash2KeysTableBucketElem<TVal>* RefHash2KeysTableOf<TVal>::
  findBucketElem(const void* const key1, const int key2, unsigned int& hashVal) const
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      const RefHash2KeysTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (fHash->equals(key1, curElem->fKey1) && (key2==curElem->fKey2))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  
  template <class TVal> void RefHash2KeysTableOf<TVal>::
  removeBucketElem(const void* const key1, const int key2, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      //
      //  Search the given bucket for this key. Keep up with the previous
      //  element so we can patch around it.
      //
      RefHash2KeysTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      RefHash2KeysTableBucketElem<TVal>* lastElem = 0;
  
      while (curElem)
      {
          if (fHash->equals(key1, curElem->fKey1) && (key2==curElem->fKey2))
          {
              if (!lastElem)
              {
                  // It was the first in the bucket
                  fBucketList[hashVal] = curElem->fNext;
              }
               else
              {
                  // Patch around the current element
                  lastElem->fNext = curElem->fNext;
              }
  
              // If we adopted the elements, then delete the data
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Delete the current element
              delete curElem;
  
              return;
          }
  
          // Move both pointers upwards
          lastElem = curElem;
          curElem = curElem->fNext;
      }
  
      // We never found that key
      ThrowXML(NoSuchElementException, XMLExcepts::HshTbl_NoSuchKeyExists);
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOfEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash2KeysTableOfEnumerator<TVal>::
  RefHash2KeysTableOfEnumerator(RefHash2KeysTableOf<TVal>* const toEnum, const bool adopt)
  	: fAdopted(adopt), fCurElem(0), fCurHash((unsigned int)-1), fToEnum(toEnum)
  {
      if (!toEnum)  
          ThrowXML(NullPointerException, XMLExcepts::CPtr_PointerIsZero);        
  
      //
      //  Find the next available bucket element in the hash table. If it
      //  comes back zero, that just means the table is empty.
      //
      //  Note that the -1 in the current hash tells it to start from the
      //  beginning.
      //
      findNext();
  }
  
  template <class TVal> RefHash2KeysTableOfEnumerator<TVal>::~RefHash2KeysTableOfEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOfEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHash2KeysTableOfEnumerator<TVal>::hasMoreElements() const
  {
      //
      //  If our current has is at the max and there are no more elements
      //  in the current bucket, then no more elements.
      //
      if (!fCurElem && (fCurHash == fToEnum->fHashModulus))
          return false;
      return true;
  }
  
  template <class TVal> TVal& RefHash2KeysTableOfEnumerator<TVal>::nextElement()
  {
      // Make sure we have an element to return
      if (!hasMoreElements())
          ThrowXML(NoSuchElementException, XMLExcepts::Enum_NoMoreElements);
  
      //
      //  Save the current element, then move up to the next one for the
      //  next time around.
      //
      RefHash2KeysTableBucketElem<TVal>* saveElem = fCurElem;
      findNext();
  
      return *saveElem->fData;
  }
  
  
  template <class TVal> void RefHash2KeysTableOfEnumerator<TVal>::Reset()
  {
      fCurHash = (unsigned int)-1;
      fCurElem = 0;
      findNext();
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHash2KeysTableOfEnumerator: Private helper methods
  // ---------------------------------------------------------------------------
  template <class TVal> void RefHash2KeysTableOfEnumerator<TVal>::findNext()
  {
      //
      //  If there is a current element, move to its next element. If this
      //  hits the end of the bucket, the next block will handle the rest.
      //
      if (fCurElem)
          fCurElem = fCurElem->fNext;
  
      //
      //  If the current element is null, then we have to move up to the
      //  next hash value. If that is the hash modulus, then we cannot
      //  go further.
      //
      if (!fCurElem)
      {
          fCurHash++;
          if (fCurHash == fToEnum->fHashModulus)
              return;
  
          // Else find the next non-empty bucket
          while (true)
          {
              if (fToEnum->fBucketList[fCurHash])
                  break;
  
              // Bump to the next hash value. If we max out return
              fCurHash++;
              if (fCurHash == fToEnum->fHashModulus)
                  return;
          }
          fCurElem = fToEnum->fBucketList[fCurHash];
      }
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash2KeysTableOf.hpp
  
  Index: RefHash2KeysTableOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefHash2KeysTableOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 13:45:03  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.2  2001/05/11 13:26:28  tng
   * Copyright update.
   *
   * Revision 1.1  2001/02/27 18:24:01  tng
   * Schema: Add utility RefHash2KeysTableOf.
   *
   */
  
  
  #if !defined(REFHASH2KEYSTABLEOF_HPP)
  #define REFHASH2KEYSTABLEOF_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/KeyValuePair.hpp>
  #include <util/HashBase.hpp>
  #include <util/IllegalArgumentException.hpp>
  #include <util/NoSuchElementException.hpp>
  #include <util/RuntimeException.hpp>
  #include <util/XMLExceptMsgs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  #include <util/HashBase.hpp>
  #include <util/HashXMLCh.hpp>
  
  // This hash table is similar to RefHashTableOf with an additional integer as key2
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TVal> class RefHash2KeysTableOfEnumerator;
  template <class TVal> struct RefHash2KeysTableBucketElem;
  
  
  //
  //  This should really be a nested class, but some of the compilers we
  //  have to support cannot deal with that!
  //
  template <class TVal> struct RefHash2KeysTableBucketElem
  {
      RefHash2KeysTableBucketElem(void* key1, int key2, TVal* const value, RefHash2KeysTableBucketElem<TVal>* next)
  		: fData(value), fNext(next), fKey1(key1), fKey2(key2)
          {
          }
  
      TVal*                           fData;
      RefHash2KeysTableBucketElem<TVal>*   fNext;
  	void*							fKey1;
  	int							fKey2;
  };
  
  
  template <class TVal> class RefHash2KeysTableOf
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  	// backwards compatability - default hasher is HashXMLCh
      RefHash2KeysTableOf(const unsigned int modulus);
  	// backwards compatability - default hasher is HashXMLCh
      RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems);
  	// if a hash function is passed in, it will be deleted when the hashtable is deleted.
  	// use a new instance of the hasher class for each hashtable, otherwise one hashtable
  	// may delete the hasher of a different hashtable if both use the same hasher.
      RefHash2KeysTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase);
      ~RefHash2KeysTableOf();
  
  
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      bool containsKey(const void* const key1, const int key2) const;
      void removeKey(const void* const key1, const int key2);
      void removeAll();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      TVal* get(const void* const key1, const int key2);
      const TVal* get(const void* const key1, const int key2) const;
  
  
      // -----------------------------------------------------------------------
      //  Putters
      // -----------------------------------------------------------------------
  	void put(void* key1, int key2, TVal* const valueToAdopt);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class RefHash2KeysTableOfEnumerator<TVal>;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      RefHash2KeysTableBucketElem<TVal>* findBucketElem(const void* const key1, const int key2, unsigned int& hashVal);
      const RefHash2KeysTableBucketElem<TVal>* findBucketElem(const void* const key1, const int key2, unsigned int& hashVal) const;
      void removeBucketElem(const void* const key1, const int key2, unsigned int& hashVal);
  	void initialize(const unsigned int modulus);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table.
      //
      //  fBucketList
      //      This is the array that contains the heads of all of the list
      //      buckets, one for each possible hash value.
      //
      //  fHashModulus
      //      The modulus used for this hash table, to hash the keys. This is
      //      also the number of elements in the bucket list.
  	//
  	//  fHash
  	//      The hasher for the key1 data type.
      // -----------------------------------------------------------------------
      bool                                fAdoptedElems;
      RefHash2KeysTableBucketElem<TVal>**      fBucketList;
      unsigned int                        fHashModulus;
  	HashBase*							fHash;
  };
  
  
  
  //
  //  An enumerator for a value array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TVal> class RefHash2KeysTableOfEnumerator : public XMLEnumerator<TVal>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefHash2KeysTableOfEnumerator(RefHash2KeysTableOf<TVal>* const toEnum, const bool adopt = false);
      ~RefHash2KeysTableOfEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TVal& nextElement();
      void Reset();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      void findNext();
  
  
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed vector. If so then
      //      we delete the vector when we are destroyed.
      //
      //  fCurElem
      //      This is the current bucket bucket element that we are on.
      //
      //  fCurHash
      //      The is the current hash buck that we are working on. Once we hit
      //      the end of the bucket that fCurElem is in, then we have to start
      //      working this one up to the next non-empty bucket.
      //
      //  fToEnum
      //      The value array being enumerated.
      // -----------------------------------------------------------------------
      bool                                  fAdopted;
      RefHash2KeysTableBucketElem<TVal>*         fCurElem;
      unsigned int                          fCurHash;
      RefHash2KeysTableOf<TVal>*                 fToEnum;
  };
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefHash2KeysTableOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash3KeysIdPool.c
  
  Index: RefHash3KeysIdPool.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefHash3KeysIdPool.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/07/19 18:43:18  peiyongz
   * fix: detect null poiniter in enumerator's ctor.
   *
   * Revision 1.3  2001/06/04 13:45:04  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.2  2001/05/11 13:26:29  tng
   * Copyright update.
   *
   * Revision 1.1  2001/03/21 21:56:12  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Include
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefHash3KeysIdPool.hpp>
  #endif
  
  #include <util/NullPointerException.hpp>
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPool: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool(
                const unsigned int modulus
              , const bool adoptElems
              , const unsigned int    initSize) :
  	 fAdoptedElems(adoptElems)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
  
      // create default hasher
      fHash = new HashXMLCh();
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool(
                const unsigned int modulus
              , const bool adoptElems
              , HashBase* hashBase
              , const unsigned int    initSize) :
  	 fAdoptedElems(adoptElems)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
      // set hasher
      fHash = hashBase;
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> RefHash3KeysIdPool<TVal>::RefHash3KeysIdPool(const unsigned int modulus
              , const unsigned int    initSize) :
  	 fAdoptedElems(true)
      , fBucketList(0)
      , fHashModulus(modulus)
      , fIdPtrs(0)
      , fIdPtrsCount(initSize)
      , fIdCounter(0)
  {
      initialize(modulus);
  
      // create default hasher
  
      fHash = new HashXMLCh();
  
      //
      //  Allocate the initial id pointers array. We don't have to zero them
      //  out since the fIdCounter value tells us which ones are valid. The
      //  zeroth element is never used (and represents an invalid pool id.)
      //
      if (!fIdPtrsCount)
          fIdPtrsCount = 256;
      fIdPtrs = new TVal*[fIdPtrsCount];
      fIdPtrs[0] = 0;
  }
  
  template <class TVal> void RefHash3KeysIdPool<TVal>::initialize(const unsigned int modulus)
  {
  	if (modulus == 0)
          ThrowXML(IllegalArgumentException, XMLExcepts::HshTbl_ZeroModulus);
  
      // Allocate the bucket list and zero them
      fBucketList = new RefHash3KeysTableBucketElem<TVal>*[fHashModulus];
      for (unsigned int index = 0; index < fHashModulus; index++)
          fBucketList[index] = 0;
  }
  
  template <class TVal> RefHash3KeysIdPool<TVal>::~RefHash3KeysIdPool()
  {
      removeAll();
  
      // Then delete the bucket list & hasher & id pointers list
      delete [] fIdPtrs;
      delete [] fBucketList;
      delete fHash;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPool: Element management
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHash3KeysIdPool<TVal>::isEmpty() const
  {
      // Just check the bucket list for non-empty elements
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          if (fBucketList[buckInd] != 0)
              return false;
      }
      return true;
  }
  
  template <class TVal> bool RefHash3KeysIdPool<TVal>::
  containsKey(const void* const key1, const int key2, const int key3) const
  {
      unsigned int hashVal;
      const RefHash3KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      return (findIt != 0);
  }
  
  template <class TVal> void RefHash3KeysIdPool<TVal>::removeAll()
  {
      // Clean up the buckets first
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          // Get the bucket list head for this entry
          RefHash3KeysTableBucketElem<TVal>* curElem = fBucketList[buckInd];
          RefHash3KeysTableBucketElem<TVal>* nextElem;
          while (curElem)
          {
              // Save the next element before we hose this one
              nextElem = curElem->fNext;
  
              // If we adopted the data, then delete it too
              //    (Note:  the userdata hash table instance has data type of void *.
              //    This will generate compiler warnings here on some platforms, but they
              //    can be ignored since fAdoptedElements is false.
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Then delete the current element and move forward
              delete curElem;
              curElem = nextElem;
          }
  
          // Clean out this entry
          fBucketList[buckInd] = 0;
      }
  
      // Reset the id counter
      fIdCounter = 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPool: Getters
  // ---------------------------------------------------------------------------
  template <class TVal> TVal*
  RefHash3KeysIdPool<TVal>::getByKey(const void* const key1, const int key2, const int key3)
  {
      unsigned int hashVal;
      RefHash3KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> const TVal*
  RefHash3KeysIdPool<TVal>::getByKey(const void* const key1, const int key2, const int key3) const
  {
      unsigned int hashVal;
      const RefHash3KeysTableBucketElem<TVal>* findIt = findBucketElem(key1, key2, key3, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> TVal*
  RefHash3KeysIdPool<TVal>::getById(const unsigned int elemId)
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  template <class TVal> const TVal*
  RefHash3KeysIdPool<TVal>::getById(const unsigned int elemId) const
  {
      // If its either zero or beyond our current id, its an error
      if (!elemId || (elemId > fIdCounter))
          ThrowXML(IllegalArgumentException, XMLExcepts::Pool_InvalidId);
  
      return fIdPtrs[elemId];
  }
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPool: Putters
  // ---------------------------------------------------------------------------
  template <class TVal> unsigned int
  RefHash3KeysIdPool<TVal>::put(void* key1, int key2, int key3, TVal* const valueToAdopt)
  {
      // First see if the key exists already
      unsigned int hashVal;
      RefHash3KeysTableBucketElem<TVal>* newBucket = findBucketElem(key1, key2, key3, hashVal);
  
      //
      //  If so,then update its value. If not, then we need to add it to
      //  the right bucket
      //
      if (newBucket)
      {
          if (fAdoptedElems)
              delete newBucket->fData;
          newBucket->fData = valueToAdopt;
          newBucket->fKey1 = key1;
          newBucket->fKey2 = key2;
          newBucket->fKey3 = key3;
      }
       else
      {
          newBucket = new RefHash3KeysTableBucketElem<TVal>(key1, key2, key3, valueToAdopt, fBucketList[hashVal]);
          fBucketList[hashVal] = newBucket;
      }
  
      //
      //  Give this new one the next available id and add to the pointer list.
      //  Expand the list if that is now required.
      //
      if (fIdCounter + 1 == fIdPtrsCount)
      {
          // Create a new count 1.5 times larger and allocate a new array
          unsigned int newCount = (unsigned int)(fIdPtrsCount * 1.5);
          TVal** newArray = new TVal*[newCount];
  
          // Copy over the old contents to the new array
          memcpy(newArray, fIdPtrs, fIdPtrsCount * sizeof(TVal*));
  
          // Ok, toss the old array and store the new data
          delete [] fIdPtrs;
          fIdPtrs = newArray;
          fIdPtrsCount = newCount;
      }
      const unsigned int retId = ++fIdCounter;
      fIdPtrs[retId] = valueToAdopt;
  
      // Set the id on the passed element
      valueToAdopt->setId(retId);
  
      // Return the id that we gave to this element
      return retId;
  }
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPool: Private methods
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash3KeysTableBucketElem<TVal>* RefHash3KeysIdPool<TVal>::
  findBucketElem(const void* const key1, const int key2, const int key3, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      RefHash3KeysTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
  		if (fHash->equals(key1, curElem->fKey1) && (key2==curElem->fKey2) && (key3==curElem->fKey3))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  template <class TVal> const RefHash3KeysTableBucketElem<TVal>* RefHash3KeysIdPool<TVal>::
  findBucketElem(const void* const key1, const int key2, const int key3, unsigned int& hashVal) const
  {
      // Hash the key
      hashVal = fHash->getHashVal(key1, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      const RefHash3KeysTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (fHash->equals(key1, curElem->fKey1) && (key2==curElem->fKey2) && (key3==curElem->fKey3))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPoolEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHash3KeysIdPoolEnumerator<TVal>::
  RefHash3KeysIdPoolEnumerator(RefHash3KeysIdPool<TVal>* const toEnum, const bool adopt)
  	: fAdoptedElems(adopt), fCurIndex(0), fToEnum(toEnum)
  {
      if (!toEnum)  
          ThrowXML(NullPointerException, XMLExcepts::CPtr_PointerIsZero);        
  
      //
      //  Find the next available bucket element in the pool. We use the id
      //  array since its very easy to enumerator through by just maintaining
      //  an index. If the id counter is zero, then its empty and we leave the
      //  current index to zero.
      //
      if (toEnum->fIdCounter)
          fCurIndex = 1;
  }
  
  template <class TVal> RefHash3KeysIdPoolEnumerator<TVal>::~RefHash3KeysIdPoolEnumerator()
  {
      if (fAdoptedElems)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHash3KeysIdPoolEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHash3KeysIdPoolEnumerator<TVal>::hasMoreElements() const
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          return false;
      return true;
  }
  
  template <class TVal> TVal& RefHash3KeysIdPoolEnumerator<TVal>::nextElement()
  {
      // If our index is zero or past the end, then we are done
      if (!fCurIndex || (fCurIndex > fToEnum->fIdCounter))
          ThrowXML(NoSuchElementException, XMLExcepts::Enum_NoMoreElements);
  
      // Return the current element and bump the index
      return *fToEnum->fIdPtrs[fCurIndex++];
  }
  
  template <class TVal> void RefHash3KeysIdPoolEnumerator<TVal>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHash3KeysIdPool.hpp
  
  Index: RefHash3KeysIdPool.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefHash3KeysIdPool.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/06/04 13:45:04  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.2  2001/05/11 13:26:29  tng
   * Copyright update.
   *
   * Revision 1.1  2001/03/21 21:56:12  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  #if !defined(REFHASH3KEYSIDPOOL_HPP)
  #define REFHASH3KEYSIDPOOL_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/KeyValuePair.hpp>
  #include <util/HashBase.hpp>
  #include <util/IllegalArgumentException.hpp>
  #include <util/NoSuchElementException.hpp>
  #include <util/RuntimeException.hpp>
  #include <util/XMLExceptMsgs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  #include <util/HashBase.hpp>
  #include <util/HashXMLCh.hpp>
  
  // This hash table is a combination of RefHash2KeyTableOf (with an additional integer as key3)
  // and NameIdPool with an id as index
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TVal> class RefHash3KeysIdPoolEnumerator;
  template <class TVal> struct RefHash3KeysTableBucketElem;
  
  
  //
  //  This should really be a nested class, but some of the compilers we
  //  have to support cannot deal with that!
  //
  template <class TVal> struct RefHash3KeysTableBucketElem
  {
      RefHash3KeysTableBucketElem(
                void* key1
                , int key2
                , int key3
                , TVal* const value
                , RefHash3KeysTableBucketElem<TVal>* next) :
  		fData(value)
      , fNext(next)
      , fKey1(key1)
      , fKey2(key2)
      , fKey3(key3)
      {
      }
  
      TVal*  fData;
      RefHash3KeysTableBucketElem<TVal>*   fNext;
      void*  fKey1;
      int    fKey2;
      int    fKey3;
  };
  
  
  template <class TVal> class RefHash3KeysIdPool
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      // backwards compatability - default hasher is HashXMLCh
      RefHash3KeysIdPool
      (
          const unsigned int modulus
        , const unsigned int    initSize = 128
      );
  
      // backwards compatability - default hasher is HashXMLCh
      RefHash3KeysIdPool
      (
          const unsigned int modulus
        , const bool adoptElems
        , const unsigned int initSize = 128
      );
  
      // if a hash function is passed in, it will be deleted when the hashtable is deleted.
      // use a new instance of the hasher class for each hashtable, otherwise one hashtable
      // may delete the hasher of a different hashtable if both use the same hasher.
      RefHash3KeysIdPool
      (
           const unsigned int modulus
         , const bool adoptElems, HashBase* hashBase
         , const unsigned int initSize = 128
      );
  
      ~RefHash3KeysIdPool();
  
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      bool containsKey(const void* const key1, const int key2, const int key3) const;
      void removeAll();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      TVal* getByKey(const void* const key1, const int key2, const int key3);
      const TVal* getByKey(const void* const key1, const int key2, const int key3) const;
  
      TVal* getById(const unsigned elemId);
      const TVal* getById(const unsigned elemId) const;
  
      // -----------------------------------------------------------------------
      //  Putters
      // -----------------------------------------------------------------------
  	unsigned int put(void* key1, int key2, int key3, TVal* const valueToAdopt);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class RefHash3KeysIdPoolEnumerator<TVal>;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      RefHash3KeysTableBucketElem<TVal>* findBucketElem(const void* const key1, const int key2, const int key3, unsigned int& hashVal);
      const RefHash3KeysTableBucketElem<TVal>* findBucketElem(const void* const key1, const int key2, const int key3, unsigned int& hashVal) const;
      void initialize(const unsigned int modulus);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table.
      //
      //  fBucketList
      //      This is the array that contains the heads of all of the list
      //      buckets, one for each possible hash value.
      //
      //  fHashModulus
      //      The modulus used for this hash table, to hash the keys. This is
      //      also the number of elements in the bucket list.
      //
      //  fHash
      //      The hasher for the key1 data type.
      //
      //  fIdPtrs
      //  fIdPtrsCount
      //      This is the array of pointers to the bucket elements in order of
      //      their assigned ids. So taking id N and referencing this array
      //      gives you the element with that id. The count field indicates
      //      the current size of this list. When fIdCounter+1 reaches this
      //      value the list must be expanded.
      //
      //  fIdCounter
      //      This is used to give out unique ids to added elements. It starts
      //      at zero (which means empty), and is bumped up for each newly added
      //      element. So the first element is 1, the next is 2, etc... This
      //      means that this value is set to the top index of the fIdPtrs array.
      // -----------------------------------------------------------------------
      bool                                fAdoptedElems;
      RefHash3KeysTableBucketElem<TVal>** fBucketList;
      unsigned int                        fHashModulus;
      HashBase*                       fHash;
      TVal**                          fIdPtrs;
      unsigned int                    fIdPtrsCount;
      unsigned int                    fIdCounter;
  };
  
  
  
  //
  //  An enumerator for a value array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TVal> class RefHash3KeysIdPoolEnumerator : public XMLEnumerator<TVal>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefHash3KeysIdPoolEnumerator(RefHash3KeysIdPool<TVal>* const toEnum, const bool adopt = false);
      ~RefHash3KeysIdPoolEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TVal& nextElement();
      void Reset();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Data Members
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table
      //
      //  fCurIndex
      //      This is the current index into the pool's id mapping array. This
      //      is now we enumerate it.
      //
      //  fToEnum
      //      The name id pool that is being enumerated.
      // -----------------------------------------------------------------------
      bool                       fAdoptedElems;
      unsigned int               fCurIndex;
      RefHash3KeysIdPool<TVal>*  fToEnum;
  };
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefHash3KeysIdPool.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHashTableOf.c
  
  Index: RefHashTableOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefHashTableOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/07/19 18:43:18  peiyongz
   * fix: detect null poiniter in enumerator's ctor.
   *
   * Revision 1.8  2001/06/04 13:45:04  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.7  2000/09/06 00:24:16  andyh
   * Clean up misc compiler warnings
   *
   * Revision 1.6  2000/07/07 22:16:50  jpolast
   * remove old put(value) function.  use put(key,value) instead.
   *
   * Revision 1.5  2000/06/29 18:27:09  jpolast
   * bug fix for passing hasher class references to constructor
   *
   * Revision 1.4  2000/06/27 22:11:12  jpolast
   * added more general functionality to hashtables.
   * able to specify which hasher to use.
   * default: HashXMLCh [hashes XMLCh* strings]
   *
   * future todo: make hasher class references static so only
   * one instance of a hasher is ever created.
   *
   * Revision 1.3  2000/03/02 19:54:44  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:04:59  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Include
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefHashTableOf.hpp>
  #endif
  
  #include <util/NullPointerException.hpp>
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHashTableOf<TVal>::RefHashTableOf(const unsigned int modulus, const bool adoptElems) 
  	: fAdoptedElems(adoptElems), fBucketList(0), fHashModulus(modulus)
  {
      initialize(modulus);
  	
  	// create default hasher
  	fHash = new HashXMLCh();
  }
  
  template <class TVal> RefHashTableOf<TVal>::RefHashTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase)
  	: fAdoptedElems(adoptElems), fBucketList(0), fHashModulus(modulus)
  {
  	initialize(modulus);
  	// set hasher
  	fHash = hashBase;
  }
  
  template <class TVal> RefHashTableOf<TVal>::RefHashTableOf(const unsigned int modulus)
  	: fAdoptedElems(true), fBucketList(0), fHashModulus(modulus)
  {
  	initialize(modulus);
  
  	// create default hasher
  	fHash = new HashXMLCh();
  }
  
  template <class TVal> void RefHashTableOf<TVal>::initialize(const unsigned int modulus)
  {
  	if (modulus == 0)
          ThrowXML(IllegalArgumentException, XMLExcepts::HshTbl_ZeroModulus);
  
      // Allocate the bucket list and zero them
      fBucketList = new RefHashTableBucketElem<TVal>*[fHashModulus];
      for (unsigned int index = 0; index < fHashModulus; index++)
          fBucketList[index] = 0;
  }
  
  template <class TVal> RefHashTableOf<TVal>::~RefHashTableOf()
  {
      removeAll();
  
      // Then delete the bucket list & hasher
      delete [] fBucketList;
  	delete fHash;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOf: Element management
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHashTableOf<TVal>::isEmpty() const
  {
      // Just check the bucket list for non-empty elements
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          if (fBucketList[buckInd] != 0)
              return false;
      }
      return true;
  }
  
  template <class TVal> bool RefHashTableOf<TVal>::
  containsKey(const void* const key) const
  {
      unsigned int hashVal;
      const RefHashTableBucketElem<TVal>* findIt = findBucketElem(key, hashVal);
      return (findIt != 0);
  }
  
  template <class TVal> void RefHashTableOf<TVal>::
  removeKey(const void* const key)
  {
      unsigned int hashVal;
      removeBucketElem(key, hashVal);
  }
  
  template <class TVal> void RefHashTableOf<TVal>::removeAll()
  {
      // Clean up the buckets first
      for (unsigned int buckInd = 0; buckInd < fHashModulus; buckInd++)
      {
          // Get the bucket list head for this entry
          RefHashTableBucketElem<TVal>* curElem = fBucketList[buckInd];
          RefHashTableBucketElem<TVal>* nextElem;
          while (curElem)
          {
              // Save the next element before we hose this one
              nextElem = curElem->fNext;
  
              // If we adopted the data, then delete it too
              //    (Note:  the userdata hash table instance has data type of void *. 
              //    This will generate compiler warnings here on some platforms, but they
              //    can be ignored since fAdoptedElements is false.
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Then delete the current element and move forward
              delete curElem;
              curElem = nextElem;
          }
  
          // Clean out this entry
          fBucketList[buckInd] = 0;
      }
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOf: Getters
  // ---------------------------------------------------------------------------
  template <class TVal> TVal* RefHashTableOf<TVal>::get(const void* const key)
  {
      unsigned int hashVal;
      RefHashTableBucketElem<TVal>* findIt = findBucketElem(key, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  template <class TVal> const TVal* RefHashTableOf<TVal>::
  get(const void* const key) const
  {
      unsigned int hashVal;
      const RefHashTableBucketElem<TVal>* findIt = findBucketElem(key, hashVal);
      if (!findIt)
          return 0;
      return findIt->fData;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOf: Putters
  // ---------------------------------------------------------------------------
  template <class TVal> void RefHashTableOf<TVal>::put(void* key, TVal* const valueToAdopt)
  {
      // First see if the key exists already
      unsigned int hashVal;
      RefHashTableBucketElem<TVal>* newBucket = findBucketElem(key, hashVal);
  
      //
      //  If so,then update its value. If not, then we need to add it to
      //  the right bucket
      //
      if (newBucket)
      {
          if (fAdoptedElems)
              delete newBucket->fData;
          newBucket->fData = valueToAdopt;
  		newBucket->fKey = key;
      }
       else
      {
          newBucket = new RefHashTableBucketElem<TVal>(key, valueToAdopt, fBucketList[hashVal]);
          fBucketList[hashVal] = newBucket;
      }
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOf: Private methods
  // ---------------------------------------------------------------------------
  template <class TVal> RefHashTableBucketElem<TVal>* RefHashTableOf<TVal>::
  findBucketElem(const void* const key, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      RefHashTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
  		if (fHash->equals(key, curElem->fKey))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  template <class TVal> const RefHashTableBucketElem<TVal>* RefHashTableOf<TVal>::
  findBucketElem(const void* const key, unsigned int& hashVal) const
  {
      // Hash the key
      hashVal = fHash->getHashVal(key, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      // Search that bucket for the key
      const RefHashTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      while (curElem)
      {
          if (fHash->equals(key, curElem->fKey))
              return curElem;
  
          curElem = curElem->fNext;
      }
      return 0;
  }
  
  
  template <class TVal> void RefHashTableOf<TVal>::
  removeBucketElem(const void* const key, unsigned int& hashVal)
  {
      // Hash the key
      hashVal = fHash->getHashVal(key, fHashModulus);
      if (hashVal > fHashModulus)
          ThrowXML(RuntimeException, XMLExcepts::HshTbl_BadHashFromKey);
  
      //
      //  Search the given bucket for this key. Keep up with the previous
      //  element so we can patch around it.
      //
      RefHashTableBucketElem<TVal>* curElem = fBucketList[hashVal];
      RefHashTableBucketElem<TVal>* lastElem = 0;
  
      while (curElem)
      {
          if (fHash->equals(key, curElem->fKey))
          {
              if (!lastElem)
              {
                  // It was the first in the bucket
                  fBucketList[hashVal] = curElem->fNext;
              }
               else
              {
                  // Patch around the current element
                  lastElem->fNext = curElem->fNext;
              }
  
              // If we adopted the elements, then delete the data
              if (fAdoptedElems)
                  delete curElem->fData;
  
              // Delete the current element
              delete curElem;
  
              return;
          }
  
          // Move both pointers upwards
          lastElem = curElem;
          curElem = curElem->fNext;
      }
  
      // We never found that key
      ThrowXML(NoSuchElementException, XMLExcepts::HshTbl_NoSuchKeyExists);
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOfEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TVal> RefHashTableOfEnumerator<TVal>::
  RefHashTableOfEnumerator(RefHashTableOf<TVal>* const toEnum, const bool adopt)
  	: fAdopted(adopt), fCurElem(0), fCurHash((unsigned int)-1), fToEnum(toEnum)
  {
      if (!toEnum)  
          ThrowXML(NullPointerException, XMLExcepts::CPtr_PointerIsZero);        
  
      //
      //  Find the next available bucket element in the hash table. If it
      //  comes back zero, that just means the table is empty.
      //
      //  Note that the -1 in the current hash tells it to start from the
      //  beginning.
      //
      findNext();
  }
  
  template <class TVal> RefHashTableOfEnumerator<TVal>::~RefHashTableOfEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOfEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TVal> bool RefHashTableOfEnumerator<TVal>::hasMoreElements() const
  {
      //
      //  If our current has is at the max and there are no more elements
      //  in the current bucket, then no more elements.
      //
      if (!fCurElem && (fCurHash == fToEnum->fHashModulus))
          return false;
      return true;
  }
  
  template <class TVal> TVal& RefHashTableOfEnumerator<TVal>::nextElement()
  {
      // Make sure we have an element to return
      if (!hasMoreElements())
          ThrowXML(NoSuchElementException, XMLExcepts::Enum_NoMoreElements);
  
      //
      //  Save the current element, then move up to the next one for the
      //  next time around.
      //
      RefHashTableBucketElem<TVal>* saveElem = fCurElem;
      findNext();
  
      return *saveElem->fData;
  }
  
  
  template <class TVal> void RefHashTableOfEnumerator<TVal>::Reset()
  {
      fCurHash = (unsigned int)-1;
      fCurElem = 0;
      findNext();
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  RefHashTableOfEnumerator: Private helper methods
  // ---------------------------------------------------------------------------
  template <class TVal> void RefHashTableOfEnumerator<TVal>::findNext()
  {
      //
      //  If there is a current element, move to its next element. If this
      //  hits the end of the bucket, the next block will handle the rest.
      //
      if (fCurElem)
          fCurElem = fCurElem->fNext;
  
      //
      //  If the current element is null, then we have to move up to the
      //  next hash value. If that is the hash modulus, then we cannot
      //  go further.
      //
      if (!fCurElem)
      {
          fCurHash++;
          if (fCurHash == fToEnum->fHashModulus)
              return;
  
          // Else find the next non-empty bucket
          while (true)
          {
              if (fToEnum->fBucketList[fCurHash])
                  break;
  
              // Bump to the next hash value. If we max out return
              fCurHash++;
              if (fCurHash == fToEnum->fHashModulus)
                  return;
          }
          fCurElem = fToEnum->fBucketList[fCurHash];
      }
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefHashTableOf.hpp
  
  Index: RefHashTableOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefHashTableOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/06/04 13:45:04  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.8  2000/07/07 22:16:51  jpolast
   * remove old put(value) function.  use put(key,value) instead.
   *
   * Revision 1.7  2000/06/29 18:27:09  jpolast
   * bug fix for passing hasher class references to constructor
   *
   * Revision 1.6  2000/06/27 22:11:12  jpolast
   * added more general functionality to hashtables.
   * able to specify which hasher to use.
   * default: HashXMLCh [hashes XMLCh* strings]
   *
   * future todo: make hasher class references static so only
   * one instance of a hasher is ever created.
   *
   * Revision 1.5  2000/03/02 19:54:44  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/18 00:18:10  roddey
   * More changes to support the new, completely orthagonal support for
   * intrinsic encodings.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:01  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:12  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(REFHASHTABLEOF_HPP)
  #define REFHASHTABLEOF_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/KeyValuePair.hpp>
  #include <util/HashBase.hpp>
  #include <util/IllegalArgumentException.hpp>
  #include <util/NoSuchElementException.hpp>
  #include <util/RuntimeException.hpp>
  #include <util/XMLExceptMsgs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/XMLString.hpp>
  #include <util/HashBase.hpp>
  #include <util/HashXMLCh.hpp>
  
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TVal> class RefHashTableOfEnumerator;
  template <class TVal> struct RefHashTableBucketElem;
  
  
  //
  //  This should really be a nested class, but some of the compilers we
  //  have to support cannot deal with that!
  //
  template <class TVal> struct RefHashTableBucketElem
  {
      RefHashTableBucketElem(void* key, TVal* const value, RefHashTableBucketElem<TVal>* next) 
  		: fData(value), fNext(next), fKey(key)
          {
          }
  
      TVal*                           fData;
      RefHashTableBucketElem<TVal>*   fNext;
  	void*							fKey;
  };
  
  
  template <class TVal> class RefHashTableOf
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  	// backwards compatability - default hasher is HashXMLCh
      RefHashTableOf(const unsigned int modulus);
  	// backwards compatability - default hasher is HashXMLCh
      RefHashTableOf(const unsigned int modulus, const bool adoptElems);
  	// if a hash function is passed in, it will be deleted when the hashtable is deleted.
  	// use a new instance of the hasher class for each hashtable, otherwise one hashtable
  	// may delete the hasher of a different hashtable if both use the same hasher.
      RefHashTableOf(const unsigned int modulus, const bool adoptElems, HashBase* hashBase);
      ~RefHashTableOf();
  
  
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      bool containsKey(const void* const key) const;
      void removeKey(const void* const key);
      void removeAll();
  
  
      // -----------------------------------------------------------------------
      //  Getters
      // -----------------------------------------------------------------------
      TVal* get(const void* const key);
      const TVal* get(const void* const key) const;
  
  
      // -----------------------------------------------------------------------
      //  Putters
      // -----------------------------------------------------------------------
  	void put(void* key, TVal* const valueToAdopt);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class RefHashTableOfEnumerator<TVal>;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      RefHashTableBucketElem<TVal>* findBucketElem(const void* const key, unsigned int& hashVal);
      const RefHashTableBucketElem<TVal>* findBucketElem(const void* const key, unsigned int& hashVal) const;
      void removeBucketElem(const void* const key, unsigned int& hashVal);
  	void initialize(const unsigned int modulus);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fAdoptedElems
      //      Indicates whether the values added are adopted or just referenced.
      //      If adopted, then they are deleted when they are removed from the
      //      hash table.
      //
      //  fBucketList
      //      This is the array that contains the heads of all of the list
      //      buckets, one for each possible hash value.
      //
      //  fHashModulus
      //      The modulus used for this hash table, to hash the keys. This is
      //      also the number of elements in the bucket list.
  	//
  	//  fHash
  	//      The hasher for the key data type.
      // -----------------------------------------------------------------------
      bool                                fAdoptedElems;
      RefHashTableBucketElem<TVal>**      fBucketList;
      unsigned int                        fHashModulus;
  	HashBase*							fHash;
  };
  
  
  
  //
  //  An enumerator for a value array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TVal> class RefHashTableOfEnumerator : public XMLEnumerator<TVal>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefHashTableOfEnumerator(RefHashTableOf<TVal>* const toEnum, const bool adopt = false);
      ~RefHashTableOfEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TVal& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Private methods
      // -----------------------------------------------------------------------
      void findNext();
  
  
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed vector. If so then
      //      we delete the vector when we are destroyed.
      //
      //  fCurElem
      //      This is the current bucket bucket element that we are on.
      //
      //  fCurHash
      //      The is the current hash buck that we are working on. Once we hit
      //      the end of the bucket that fCurElem is in, then we have to start
      //      working this one up to the next non-empty bucket.
      //
      //  fToEnum
      //      The value array being enumerated.
      // -----------------------------------------------------------------------
      bool                                  fAdopted;
      RefHashTableBucketElem<TVal>*         fCurElem;
      unsigned int                          fCurHash;
      RefHashTableOf<TVal>*                 fToEnum;
  };
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefHashTableOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefStackOf.c
  
  Index: RefStackOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefStackOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:44  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:02  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefStackOf.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  RefStackOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefStackOf<TElem>::
  RefStackOf(const unsigned int initElems, const bool adoptElems) :
  
      fVector(initElems, adoptElems)
  {
  }
  
  template <class TElem> RefStackOf<TElem>::~RefStackOf()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefStackOf: Element management methods
  // ---------------------------------------------------------------------------
  template <class TElem> const TElem* RefStackOf<TElem>::
  elementAt(const unsigned int index) const
  {
      if (index > fVector.size())
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Stack_BadIndex);
      return fVector.elementAt(index);
  }
  
  template <class TElem> void RefStackOf<TElem>::push(TElem* const toPush)
  {
      fVector.addElement(toPush);
  }
  
  template <class TElem> const TElem* RefStackOf<TElem>::peek() const
  {
      const int curSize = fVector.size();
      if (curSize == 0)
          ThrowXML(EmptyStackException, XMLExcepts::Stack_EmptyStack);
  
      return fVector.elementAt(curSize-1);
  }
  
  template <class TElem> TElem* RefStackOf<TElem>::pop()
  {
      const int curSize = fVector.size();
      if (curSize == 0)
          ThrowXML(EmptyStackException, XMLExcepts::Stack_EmptyStack);
  
      // Orphan off the element from the last slot in the vector
      return fVector.orphanElementAt(curSize-1);
  }
  
  template <class TElem> void RefStackOf<TElem>::removeAllElements()
  {
      fVector.removeAllElements();
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefStackOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> bool RefStackOf<TElem>::empty()
  {
      return (fVector.size() == 0);
  }
  
  template <class TElem> unsigned int RefStackOf<TElem>::curCapacity()
  {
      return fVector.curCapacity();
  }
  
  template <class TElem> unsigned int RefStackOf<TElem>::size()
  {
      return fVector.size();
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  RefStackEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefStackEnumerator<TElem>::
  RefStackEnumerator(         RefStackOf<TElem>* const    toEnum
                      , const bool                        adopt) :
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
      , fVector(&toEnum->fVector)
  {
  }
  
  template <class TElem> RefStackEnumerator<TElem>::~RefStackEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefStackEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool RefStackEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fVector->size())
          return false;
      return true;
  }
  
  template <class TElem> TElem& RefStackEnumerator<TElem>::nextElement()
  {
      return *fVector->elementAt(fCurIndex++);
  }
  
  template <class TElem> void RefStackEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefStackOf.hpp
  
  Index: RefStackOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefStackOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:45  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:03  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(REFSTACKOF_HPP)
  #define REFSTACKOF_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/EmptyStackException.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLEnumerator.hpp>
  
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TElem> class RefStackEnumerator;
  
  
  template <class TElem> class RefStackOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefStackOf(const unsigned int initElems, const bool adoptElems = true);
      ~RefStackOf();
  
  
      // -----------------------------------------------------------------------
      //  Element management methods
      // -----------------------------------------------------------------------
      const TElem* elementAt(const unsigned int index) const;
      void push(TElem* const toPush);
      const TElem* peek() const;
      TElem* pop();
      void removeAllElements();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool empty();
      unsigned int curCapacity();
      unsigned int size();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class RefStackEnumerator<TElem>;
  
  
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fVector
      //      The vector that is used as the backing data structure for the
      //      stack.
      // -----------------------------------------------------------------------
      RefVectorOf<TElem>  fVector;
  };
  
  
  
  //
  //  An enumerator for a value stack. It derives from the basic enumerator
  //  class, so that value stacks can be generically enumerated.
  //
  template <class TElem> class RefStackEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefStackEnumerator
      (
                  RefStackOf<TElem>* const    toEnum
          , const bool                        adopt = false
      );
      ~RefStackEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed stack. If so then
      //      we delete the stack when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the vector inside the stack being
      //      enumerated.
      //
      //  fToEnum
      //      The stack that is being enumerated. This is just kept for
      //      adoption purposes, since we really are enumerating the vector
      //      inside of it.
      // -----------------------------------------------------------------------
      bool                fAdopted;
      unsigned int        fCurIndex;
      RefVectorOf<TElem>* fVector;
      RefStackOf<TElem>*  fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefStackOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefVectorOf.c
  
  Index: RefVectorOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: RefVectorOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/06/25 13:01:49  knoaman
   * Add constraint checking on elements in complex types to prevent same
   * element names from having different definitions - use substitueGroups.
   *
   * Revision 1.4  2000/07/31 19:18:25  jpolast
   * bug fix in removeAll() to zero out all the pointers.
   *
   * Revision 1.3  2000/03/02 19:54:45  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:04  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/RefVectorOf.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefVectorOf<TElem>::
  RefVectorOf(const unsigned int maxElems, const bool adoptElems) :
  
      fAdoptedElems(adoptElems)
      , fCurCount(0)
      , fMaxCount(maxElems)
      , fElemList(0)
  {
      // Allocate and initialize the array
      fElemList = new TElem*[maxElems];
      for (unsigned int index = 0; index < maxElems; index++)
          fElemList[index] = 0;
  }
  
  template <class TElem> RefVectorOf<TElem>::~RefVectorOf()
  {
      if (fAdoptedElems)
      {
          for (unsigned int index = 0; index < fCurCount; index++)
              delete fElemList[index];
      }
      delete [] fElemList;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorOf: Element management
  // ---------------------------------------------------------------------------
  template <class TElem> void RefVectorOf<TElem>::addElement(TElem* const toAdd)
  {
      ensureExtraCapacity(1);
      fElemList[fCurCount] = toAdd;
      fCurCount++;
  }
  
  
  template <class TElem> void
  RefVectorOf<TElem>::setElementAt(TElem* const toSet, const unsigned int setAt)
  {
      if (setAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      if (fAdoptedElems)
          delete fElemList[setAt];
      fElemList[setAt] = toSet;
  }
  
  template <class TElem> void RefVectorOf<TElem>::
  insertElementAt(TElem* const toInsert, const unsigned int insertAt)
  {
      if (insertAt == fCurCount)
      {
          addElement(toInsert);
          return;
      }
  
      if (insertAt > fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      ensureExtraCapacity(1);
  
      // Make room for the newbie
      for (unsigned int index = fCurCount; index > insertAt; index--)
          fElemList[index] = fElemList[index-1];
  
      // And stick it in and bump the count
      fElemList[insertAt] = toInsert;
      fCurCount++;
  }
  
  template <class TElem> TElem* RefVectorOf<TElem>::
  orphanElementAt(const unsigned int orphanAt)
  {
      if (orphanAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      // Get the element we are going to orphan
      TElem* retVal = fElemList[orphanAt];
  
      // Optimize if its the last element
      if (orphanAt == fCurCount-1)
      {
          fElemList[orphanAt] = 0;
          fCurCount--;
          return retVal;
      }
  
      // Copy down every element above orphan point
      for (unsigned int index = orphanAt; index < fCurCount-1; index++)
          fElemList[index] = fElemList[index+1];
  
      // Keep unused elements zero for sanity's sake
      fElemList[fCurCount-1] = 0;
  
      // And bump down count
      fCurCount--;
  
      return retVal;
  }
  
  template <class TElem> void RefVectorOf<TElem>::removeAllElements()
  {
      for (unsigned int index = 0; index < fCurCount; index++)
      {
          if (fAdoptedElems)
            delete fElemList[index];
  
          // Keep unused elements zero for sanity's sake
          fElemList[index] = 0;
      }
      fCurCount = 0;
  }
  
  template <class TElem> void RefVectorOf<TElem>::
  removeElementAt(const unsigned int removeAt)
  {
      if (removeAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      if (fAdoptedElems)
          delete fElemList[removeAt];
  
      // Optimize if its the last element
      if (removeAt == fCurCount-1)
      {
          fElemList[removeAt] = 0;
          fCurCount--;
          return;
      }
  
      // Copy down every element above remove point
      for (unsigned int index = removeAt; index < fCurCount-1; index++)
          fElemList[index] = fElemList[index+1];
  
      // Keep unused elements zero for sanity's sake
      fElemList[fCurCount-1] = 0;
  
      // And bump down count
      fCurCount--;
  }
  
  template <class TElem> void RefVectorOf<TElem>::removeLastElement()
  {
      if (!fCurCount)
          return;
      fCurCount--;
  
      if (fAdoptedElems)
          delete fElemList[fCurCount];
  }
  
  template <class TElem> 
  bool RefVectorOf<TElem>::containsElement(const TElem* const toCheck) {
  
      for (unsigned int i = 0; i < fCurCount; i++) {
          if (fElemList[i] == toCheck) {
              return true;
          }
      }
  
      return false;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> unsigned int RefVectorOf<TElem>::curCapacity() const
  {
      return fMaxCount;
  }
  
  template <class TElem> const TElem* RefVectorOf<TElem>::
  elementAt(const unsigned int getAt) const
  {
      if (getAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
      return fElemList[getAt];
  }
  
  template <class TElem> TElem*
  RefVectorOf<TElem>::elementAt(const unsigned int getAt)
  {
      if (getAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
      return fElemList[getAt];
  }
  
  template <class TElem> unsigned int RefVectorOf<TElem>::size() const
  {
      return fCurCount;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorOf: Miscellaneous
  // ---------------------------------------------------------------------------
  template <class TElem> void RefVectorOf<TElem>::
  ensureExtraCapacity(const unsigned int length)
  {
      unsigned int newMax = fCurCount + length;
  
      if (newMax < fMaxCount)
          return;
  
      // Avoid too many reallocations by providing a little more space
      if (newMax < fMaxCount + 32)
          newMax = fMaxCount + 32;
  
      // Allocate the new array and copy over the existing stuff
      TElem** newList = new TElem*[newMax];
      unsigned int index = 0;
      for (; index < fCurCount; index++)
          newList[index] = fElemList[index];
  
      // Zero out the rest of them
      for (; index < newMax; index++)
          newList[index] = 0;
  
      // Clean up the old array and update our members
      delete [] fElemList;
      fElemList = newList;
      fMaxCount = newMax;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> RefVectorEnumerator<TElem>::
  RefVectorEnumerator(        RefVectorOf<TElem>* const   toEnum
                      , const bool                        adopt) :
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
  {
  }
  
  template <class TElem> RefVectorEnumerator<TElem>::~RefVectorEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  RefVectorEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool RefVectorEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fToEnum->size())
          return false;
      return true;
  }
  
  template <class TElem> TElem& RefVectorEnumerator<TElem>::nextElement()
  {
      return *(fToEnum->elementAt(fCurIndex++));
  }
  
  template <class TElem> void RefVectorEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RefVectorOf.hpp
  
  Index: RefVectorOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: RefVectorOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/06/25 13:01:52  knoaman
   * Add constraint checking on elements in complex types to prevent same
   * element names from having different definitions - use substitueGroups.
   *
   * Revision 1.4  2000/03/02 19:54:45  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:03  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:05  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:13  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(REFVECTOROF_HPP)
  #define REFVECTOROF_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/XMLEnumerator.hpp>
  
  
  template <class TElem> class RefVectorOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefVectorOf(const unsigned int maxElems, const bool adoptElems = true);
      ~RefVectorOf();
  
      
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      void addElement(TElem* const toAdd);
      void setElementAt(TElem* const toSet, const unsigned int setAt);
      void insertElementAt(TElem* const toInsert, const unsigned int insertAt);
      TElem* orphanElementAt(const unsigned int orphanAt);
      void removeAllElements();
      void removeElementAt(const unsigned int removeAt);
      void removeLastElement();
      bool containsElement(const TElem* const toCheck);
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int curCapacity() const;
      const TElem* elementAt(const unsigned int getAt) const;
      TElem* elementAt(const unsigned int getAt);
      unsigned int size() const;
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
      void ensureExtraCapacity(const unsigned int length);
  
  
  private:
      // -----------------------------------------------------------------------
      //  Data members
      // -----------------------------------------------------------------------
      bool            fAdoptedElems;
      unsigned int    fCurCount;
      unsigned int    fMaxCount;
      TElem**         fElemList;
  };
  
  
  //
  //  An enumerator for a reference vector. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TElem> class RefVectorEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      RefVectorEnumerator
      (
                  RefVectorOf<TElem>* const   toEnum
          , const bool                        adopt = false
      );
      ~RefVectorEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed vector. If so then
      //      we delete the vector when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the vector.
      //
      //  fToEnum
      //      The reference vector being enumerated.
      // -----------------------------------------------------------------------
      bool                fAdopted;
      unsigned int        fCurIndex;
      RefVectorOf<TElem>* fToEnum;
  };
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/RefVectorOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/RuntimeException.hpp
  
  Index: RuntimeException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RuntimeException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(RUNTIMEEXCEPTION_HPP)
  #define RUNTIMEEXCEPTION_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(RuntimeException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/StringPool.hpp
  
  Index: StringPool.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: StringPool.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/10/22 15:43:35  tng
   * [Bug 3361] "String pool id was not legal" error in Attributes::getURI().
   *
   * Revision 1.4  2000/07/07 22:16:52  jpolast
   * remove old put(value) function.  use put(key,value) instead.
   *
   * Revision 1.3  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:04  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:11  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:15  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(STRINGPOOL_HPP)
  #define STRINGPOOL_HPP
  
  #include <util/RefHashTableOf.hpp>
  
  //
  //  This class implements a string pool, in which strings can be added and
  //  given a unique id by which they can be refered. It has to provide fast
  //  access both mapping from a string to its id and mapping from an id to
  //  its string. This requires that it provide two separate data structures.
  //  The map one is a hash table for quick storage and look up by name. The
  //  other is an array ordered by unique id which maps to the element in the
  //  hash table.
  //
  //  This works because strings cannot be removed from the pool once added,
  //  other than flushing it completely, and because ids are assigned
  //  sequentially from 1.
  //
  class XMLUTIL_EXPORT XMLStringPool
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLStringPool
      (
          const   unsigned int    modulus = 109
      );
      ~XMLStringPool();
  
  
      // -----------------------------------------------------------------------
      //  Pool management methods
      // -----------------------------------------------------------------------
      unsigned int addOrFind(const XMLCh* const newString);
      bool exists(const XMLCh* const newString) const;
      bool exists(const unsigned int id) const;
      void flushAll();
      unsigned int getId(const XMLCh* const toFind) const;
      const XMLCh* getValueForId(const unsigned int id) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data types
      // -----------------------------------------------------------------------
      class PoolElem
      {
          public :
              PoolElem(const XMLCh* const string, const unsigned int id);
              ~PoolElem();
  
              inline const XMLCh* getKey() const { return fString; }
              void reset(const XMLCh* const string, const unsigned int id);
  
              unsigned int    fId;
              XMLCh*          fString;
  
      };
  
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLStringPool(const XMLStringPool&);
      void operator=(const XMLStringPool&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      unsigned int addNewEntry(const XMLCh* const newString);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fIdMap
      //      This is an array of pointers to the pool elements. It is ordered
      //      by unique id, so using an id to index it gives instant access to
      //      the string of that id. This is grown as required.
      //
      //  fHashTable
      //      This is the hash table used to store and quickly access the
      //      strings.
      //
      //  fMapCapacity
      //      The current capacity of the id map. When the current id hits this
      //      value the map must must be expanded.
      //
      //  fCurId
      //      This is the counter used to assign unique ids. It is just bumped
      //      up one for each new string added.
      // -----------------------------------------------------------------------
      PoolElem**                  fIdMap;
      RefHashTableOf<PoolElem>*   fHashTable;
      unsigned int                fMapCapacity;
      unsigned int                fCurId;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/TransENameMap.c
  
  Index: TransENameMap.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/TransENameMap.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  ENameMapFor: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TType>
  ENameMapFor<TType>::ENameMapFor(const XMLCh* const encodingName) :
  
      ENameMap(encodingName)
  {
  }
  
  template <class TType> ENameMapFor<TType>::~ENameMapFor()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  ENameMapFor: Implementation of virtual factory method
  // ---------------------------------------------------------------------------
  template <class TType> XMLTranscoder*
  ENameMapFor<TType>::makeNew(const unsigned int blockSize) const
  {
      return new TType(getKey(), blockSize);
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  ENameMapFor: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TType> EEndianNameMapFor<TType>::EEndianNameMapFor(const XMLCh* const encodingName, const bool swapped) :
  
      ENameMap(encodingName)
      , fSwapped(swapped)
  {
  }
  
  template <class TType> EEndianNameMapFor<TType>::~EEndianNameMapFor()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  ENameMapFor: Implementation of virtual factory method
  // ---------------------------------------------------------------------------
  template <class TType> XMLTranscoder*
  EEndianNameMapFor<TType>::makeNew(const unsigned int blockSize) const
  {
      return new TType(getKey(), blockSize, fSwapped);
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/TransENameMap.hpp
  
  Index: TransENameMap.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  #if !defined(TRANSENAMEMAP_HPP)
  #define TRANSENAMEMAP_HPP
  
  #include <util/TransService.hpp>
  #include <util/XMLString.hpp>
  
  //
  //  This class is really private to the TransService class. However, some
  //  compilers are too dumb to allow us to hide this class there in the Cpp
  //  file that uses it.
  //
  class ENameMap
  {
  public :
      // -----------------------------------------------------------------------
      //  Destructor
      // -----------------------------------------------------------------------
      ~ENameMap()
      {
          delete [] fEncodingName;
      }
  
  
  
      // -----------------------------------------------------------------------
      //  Virtual factory method
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNew
      (
          const   unsigned int    blockSize
      )   const = 0;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLCh* getKey() const
      {
          return fEncodingName;
      }
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      ENameMap(const XMLCh* const encodingName) :
  
          fEncodingName(XMLString::replicate(encodingName))
      {
      }
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ENameMap();
      ENameMap(const ENameMap&);
      void operator=(const ENameMap&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEncodingName
      //      This is the encoding name for the transcoder that is controlled
      //      by this map instance.
      // -----------------------------------------------------------------------
      XMLCh*  fEncodingName;
  };
  
  
  template <class TType> class ENameMapFor : public ENameMap
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ENameMapFor(const XMLCh* const encodingName);
      ~ENameMapFor();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of virtual factory method
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNew(const unsigned int blockSize) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ENameMapFor();
      ENameMapFor(const ENameMapFor<TType>&);
      void operator=(const ENameMapFor<TType>&);
  };
  
  
  template <class TType> class EEndianNameMapFor : public ENameMap
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      EEndianNameMapFor(const XMLCh* const encodingName, const bool swapped);
      ~EEndianNameMapFor();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of virtual factory method
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNew(const unsigned int blockSize) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      EEndianNameMapFor(const EEndianNameMapFor<TType>&);
      void operator=(const EEndianNameMapFor<TType>&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSwapped
      //      Indicates whether the endianess of the encoding is opposite of
      //      that of the local host.
      // -----------------------------------------------------------------------
      bool    fSwapped;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/TransENameMap.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/TransService.hpp
  
  Index: TransService.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: TransService.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2001/05/11 13:26:30  tng
   * Copyright update.
   *
   * Revision 1.12  2001/01/25 19:19:32  tng
   * Let user add their encoding to the intrinsic mapping table.  Added by Khaled Noaman.
   *
   * Revision 1.11  2000/04/12 22:57:45  roddey
   * A couple of fixes to comments and parameter names to make them
   * more correct.
   *
   * Revision 1.10  2000/03/28 19:43:19  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.9  2000/03/17 23:59:54  roddey
   * Initial updates for two way transcoding support
   *
   * Revision 1.8  2000/03/02 19:54:46  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/02/24 20:05:25  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.6  2000/02/06 07:48:04  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/25 22:49:55  roddey
   * Moved the supportsSrcOfs() method from the individual transcoder to the
   * transcoding service, where it should have been to begin with.
   *
   * Revision 1.4  2000/01/25 19:19:07  roddey
   * Simple addition of a getId() method to the xcode and netacess abstractions to
   * allow each impl to give back an id string.
   *
   * Revision 1.3  1999/12/18 00:18:10  roddey
   * More changes to support the new, completely orthagonal support for
   * intrinsic encodings.
   *
   * Revision 1.2  1999/12/15 19:41:28  roddey
   * Support for the new transcoder system, where even intrinsic encodings are
   * done via the same transcoder abstraction as external ones.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:16  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:16  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef TRANSSERVICE_HPP
  #define TRANSSERVICE_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  // Forward references
  class XMLPlatformUtils;
  class XMLLCPTranscoder;
  class XMLTranscoder;
  class ENameMap;
  
  
  //
  //  This class is an abstract base class which are used to abstract the
  //  transcoding services that Xerces uses. The parser's actual transcoding
  //  needs are small so it is desirable to allow different implementations
  //  to be provided.
  //
  //  The transcoding service has to provide a couple of required string
  //  and character operations, but its most important service is the creation
  //  of transcoder objects. There are two types of transcoders, which are
  //  discussed below in the XMLTranscoder class' description.
  //
  class XMLUTIL_EXPORT XMLTransService
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      // -----------------------------------------------------------------------
      enum Codes
      {
          Ok
          , UnsupportedEncoding
          , InternalFailure
          , SupportFilesNotFound
      };
  
      struct TransRec
      {
          XMLCh       intCh;
          XMLByte     extCh;
      };
  
  
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      virtual ~XMLTransService();
  
  
      // -----------------------------------------------------------------------
      //  Non-virtual API
      // -----------------------------------------------------------------------
      XMLTranscoder* makeNewTranscoderFor
      (
          const   XMLCh* const            encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      );
  
      XMLTranscoder* makeNewTranscoderFor
      (
          const   char* const             encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      );
  
  
      // -----------------------------------------------------------------------
      //  The virtual transcoding service API
      // -----------------------------------------------------------------------
      virtual int compareIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
      ) = 0;
  
      virtual int compareNIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
          , const unsigned int    maxChars
      ) = 0;
  
      virtual const XMLCh* getId() const = 0;
  
      virtual bool isSpace(const XMLCh toCheck) const = 0;
  
      virtual XMLLCPTranscoder* makeNewLCPTranscoder() = 0;
  
      virtual bool supportsSrcOfs() const = 0;
  
      virtual void upperCase(XMLCh* const toUpperCase) const = 0;
  
  	// -----------------------------------------------------------------------
      //	Allow users to add their own encodings to the intrinsinc mapping
  	//	table
  	//	Usage:
  	//		XMLTransService::addEncoding (
  	//			gMyEncodingNameString
      //			, new ENameMapFor<MyTransClassType>(gMyEncodingNameString)
  	//		);
      // -----------------------------------------------------------------------
  	static void addEncoding(const XMLCh* const encoding, ENameMap* const ownMapping);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLTransService();
  
  
      // -----------------------------------------------------------------------
      //  Protected virtual methods.
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNewXMLTranscoder
      (
          const   XMLCh* const            encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      ) = 0;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLTransService(const XMLTransService&);
      void operator=(const XMLTransService&);
  
  
      // -----------------------------------------------------------------------
      //  Hidden init method for platform utils to call
      // -----------------------------------------------------------------------
      friend class XMLPlatformUtils;
      void initTransService();
  };
  
  
  
  //
  //  This type of transcoder is for non-local code page encodings, i.e.
  //  named encodings. These are used internally by the scanner to internalize
  //  raw XML into the internal Unicode format, and by writer classes to
  //  convert that internal Unicode format (which comes out of the parser)
  //  back out to a format that the receiving client code wants to use.
  //
  class XMLUTIL_EXPORT XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  This enum is used by the transcodeTo() method to indicate how to
      //  react to unrepresentable characters. The transcodeFrom() method always
      //  works the same. It will consider any invalid data to be an error and
      //  throw.
      //
      //  The options mean:
      //      Throw   - Throw an exception
      //      RepChar - Use the replacement char
      // -----------------------------------------------------------------------
      enum UnRepOpts
      {
          UnRep_Throw
          , UnRep_RepChar
      };
  
  
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      virtual ~XMLTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  The virtual transcoding interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      ) = 0;
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      ) = 0;
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const = 0;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getBlockSize() const;
  
      const XMLCh* getEncodingName() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLTranscoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
  
      // -----------------------------------------------------------------------
      //  Protected helper methods
      // -----------------------------------------------------------------------
      void checkBlockSize(const unsigned int toCheck);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLTranscoder(const XMLTranscoder&);
      void operator=(const XMLTranscoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBlockSize
      //      This is the block size indicated in the constructor. This lets
      //      the derived class preallocate appopriately sized buffers. This
      //      sets the maximum number of characters which can be internalized
      //      per call to transcodeFrom() and transcodeTo().
      //
      //  fEncodingName
      //      This is the name of the encoding this encoder is for. All basic
      //      XML transcoder's are for named encodings.
      // -----------------------------------------------------------------------
      unsigned int    fBlockSize;
      XMLCh*          fEncodingName;
  };
  
  
  //
  //  This class is a specialized transcoder that only transcodes between
  //  the internal XMLCh format and the local code page. It is specialized
  //  for the very common job of translating data from the client app's
  //  native code page to the internal format and vice versa.
  //
  class XMLUTIL_EXPORT XMLLCPTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      virtual ~XMLLCPTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  The virtual transcoder API
      //
      //  NOTE:   All these APIs don't include null terminator characters in
      //          their parameters. So calcRequiredSize() returns the number
      //          of actual chars, not including the null. maxBytes and maxChars
      //          parameters refer to actual chars, not including the null so
      //          its assumed that the buffer is physically one char or byte
      //          larger.
      // -----------------------------------------------------------------------
      virtual unsigned int calcRequiredSize(const char* const srcText) = 0;
  
      virtual unsigned int calcRequiredSize(const XMLCh* const srcText) = 0;
  
      virtual char* transcode(const XMLCh* const toTranscode) = 0;
  
      virtual XMLCh* transcode(const char* const toTranscode) = 0;
  
      virtual bool transcode
      (
          const   char* const     toTranscode
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
      ) = 0;
  
      virtual bool transcode
      (
          const   XMLCh* const    toTranscode
          ,       char* const     toFill
          , const unsigned int    maxBytes
      ) = 0;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLLCPTranscoder();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLLCPTranscoder(const XMLLCPTranscoder&);
      void operator=(const XMLLCPTranscoder&);
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLTranscoder: Protected helper methods
  // ---------------------------------------------------------------------------
  inline unsigned int XMLTranscoder::getBlockSize() const
  {
      return fBlockSize;
  }
  
  inline const XMLCh* XMLTranscoder::getEncodingName() const
  {
      return fEncodingName;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/TranscodingException.hpp
  
  Index: TranscodingException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: TranscodingException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(TRANSCODINGEXCEPTION_HPP)
  #define TRANSCODINGEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(TranscodingException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/UTFDataFormatException.hpp
  
  Index: UTFDataFormatException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UTFDataFormatException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(UTFDATAFORMATEXCEPTION_HPP)
  #define UTFDATAFORMATEXCEPTION_HPP
  
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(UTFDataFormatException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/UnexpectedEOFException.hpp
  
  Index: UnexpectedEOFException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UnexpectedEOFException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(UNEXPECTEDEOFEXCEPTION_HPP)
  #define UNEXPECTEDEOFEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(UnexpectedEOFException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/UnsupportedEncodingException.hpp
  
  Index: UnsupportedEncodingException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UnsupportedEncodingException.hpp,v 1.1 2002/03/22 00:41:54 sanjiva Exp $
   */
  
  #if !defined(UNSUPPORTEDENCODINGEXCEPTION_HPP)
  #define UNSUPPORTEDENCODINGEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  MakeXMLException(UnsupportedEncodingException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueArrayOf.c
  
  Index: ValueArrayOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: ValueArrayOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:04  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:26  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:17  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/ValueArrayOf.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayOf: Contructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueArrayOf<TElem>::
  ValueArrayOf(const unsigned int size) :
  
      fSize(size)
      , fArray(0)
  {
      fArray = new TElem[fSize];
  }
  
  template <class TElem> ValueArrayOf<TElem>::
  ValueArrayOf(const TElem* values, const unsigned int size) :
  
      fSize(size)
      , fArray(0)
  {
      fArray = new TElem[fSize];
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = values[index];
  }
  
  template <class TElem> ValueArrayOf<TElem>::
  ValueArrayOf(const ValueArrayOf<TElem>& source) :
  
      fSize(source.fSize)
      , fArray(0)
  {
      fArray = new TElem[fSize];
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = source.fArray[index];
  }
  
  template <class TElem> ValueArrayOf<TElem>::~ValueArrayOf()
  {
      delete [] fArray;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayOf: Public operators
  // ---------------------------------------------------------------------------
  template <class TElem> TElem& ValueArrayOf<TElem>::
  operator[](const unsigned int index)
  {
      if (index >= fSize)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
      return fArray[index];
  }
  
  template <class TElem> const TElem& ValueArrayOf<TElem>::
  operator[](const unsigned int index) const
  {
      if (index >= fSize)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
      return fArray[index];
  }
  
  template <class TElem> ValueArrayOf<TElem>& ValueArrayOf<TElem>::
  operator=(const ValueArrayOf<TElem>& toAssign)
  {
      if (this == &toAssign)
          return *this;
  
      // Reallocate if not the same size
      if (toAssign.fSize != fSize)
      {
          delete [] fArray;
          fSize = toAssign.fSize;
          fArray = new TElem[fSize];
      }
  
      // Copy over the source elements
      for (unsigned int index = 0; index < fSize; index++)
          fArray[index] = toAssign.fArray[index];
  
      return *this;
  }
  
  template <class TElem> bool ValueArrayOf<TElem>::
  operator==(const ValueArrayOf<TElem>& toCompare) const
  {
      if (this == &toCompare)
          return true;
  
      if (fSize != toCompare.fSize)
          return false;
  
      for (unsigned int index = 0; index < fSize; index++)
      {
          if (fArray[index] != toCompare.fArray[index])
              return false;
      }
  
      return true;
  }
  
  template <class TElem> bool ValueArrayOf<TElem>::
  operator!=(const ValueArrayOf<TElem>& toCompare) const
  {
      return !operator==(toCompare);
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayOf: Copy operations
  // ---------------------------------------------------------------------------
  template <class TElem> unsigned int ValueArrayOf<TElem>::
  copyFrom(const ValueArrayOf<TElem>& srcArray)
  {
      //
      //  Copy over as many of the source elements as will fit into
      //  this array.
      //
      const unsigned int count = fSize < srcArray.fSize ?
                                  fSize : srcArray.fSize;
  
      for (unsigned int index = 0; index < count; index++)
          fArray[index] = srcArray.fArray[index];
  
      return count;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> unsigned int ValueArrayOf<TElem>::
  length() const
  {
      return fSize;
  }
  
  template <class TElem> TElem* ValueArrayOf<TElem>::
  rawData() const
  {
      return fArray;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayOf: Miscellaneous methods
  // ---------------------------------------------------------------------------
  template <class TElem> void ValueArrayOf<TElem>::
  resize(const unsigned int newSize)
  {
      if (newSize == fSize)
          return;
  
      if (newSize < fSize)
          ThrowXML(IllegalArgumentException, XMLExcepts::Array_BadNewSize);
  
      // Allocate the new array
      TElem* newArray = new TElem[newSize];
  
      // Copy the existing values
      unsigned int index = 0;
      for (; index < fSize; index++)
          newArray[index] = fArray[index];
  
      for (; index < newSize; index++)
          newArray[index] = TElem(0);
  
      // Delete the old array and udpate our members
      delete [] fArray;
      fArray = newArray;
      fSize = newSize;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueArrayEnumerator<TElem>::
  ValueArrayEnumerator(ValueArrayOf<TElem>* const toEnum, const bool adopt) :
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
  {
  }
  
  template <class TElem> ValueArrayEnumerator<TElem>::~ValueArrayEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueArrayEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool ValueArrayEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fToEnum->length())
          return false;
      return true;
  }
  
  template <class TElem> TElem& ValueArrayEnumerator<TElem>::nextElement()
  {
      return (*fToEnum)[fCurIndex++];
  }
  
  template <class TElem> void ValueArrayEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueArrayOf.hpp
  
  Index: ValueArrayOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ValueArrayOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:27  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(VALUEARRAY_HPP)
  #define VALUEARRAY_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/IllegalArgumentException.hpp>
  
  template <class TElem> class ValueArrayOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Contructors and Destructor
      // -----------------------------------------------------------------------
      ValueArrayOf(const unsigned int size);
  	ValueArrayOf(const TElem* values, const unsigned int size);
  	ValueArrayOf(const ValueArrayOf<TElem>& source);
  	~ValueArrayOf();
  
  
      // -----------------------------------------------------------------------
      //  Public operators
      // -----------------------------------------------------------------------
  	TElem& operator[](const unsigned int index);
  	const TElem& operator[](const unsigned int index) const;
  	ValueArrayOf<TElem>& operator=(const ValueArrayOf<TElem>& toAssign);
  	bool operator==(const ValueArrayOf<TElem>& toCompare) const;
  	bool operator!=(const ValueArrayOf<TElem>& toCompare) const;
  
  
      // -----------------------------------------------------------------------
      //  Copy operations
      // -----------------------------------------------------------------------
      unsigned int copyFrom(const ValueArrayOf<TElem>& srcArray);
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	unsigned int length() const;
  	TElem* rawData() const;
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
      void resize(const unsigned int newSize);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Data members
      // -----------------------------------------------------------------------
  	unsigned int    fSize;
  	TElem*          fArray;
  };
  
  
  //
  //  An enumerator for a value array. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TElem> class ValueArrayEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ValueArrayEnumerator
      (
                  ValueArrayOf<TElem>* const toEnum
          , const bool                       adopt = false
      );
      ~ValueArrayEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed vector. If so then
      //      we delete the vector when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the vector.
      //
      //  fToEnum
      //      The value array being enumerated.
      // -----------------------------------------------------------------------
      bool                    fAdopted;
      unsigned int            fCurIndex;
      ValueArrayOf<TElem>*    fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/ValueArrayOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueStackOf.c
  
  Index: ValueStackOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: ValueStackOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:29  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/ValueStackOf.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  ValueStackOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueStackOf<TElem>::
  ValueStackOf(const unsigned int fInitCapacity) :
  
      fVector(fInitCapacity)
  {
  }
  
  template <class TElem> ValueStackOf<TElem>::~ValueStackOf()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueStackOf: Element management methods
  // ---------------------------------------------------------------------------
  template <class TElem> void ValueStackOf<TElem>::push(const TElem& toPush)
  {
      fVector.addElement(toPush);
  }
  
  template <class TElem> const TElem& ValueStackOf<TElem>::peek() const
  {
      const int curSize = fVector.size();
      if (curSize == 0)
          ThrowXML(EmptyStackException, XMLExcepts::Stack_EmptyStack);
  
      return fVector.elementAt(curSize-1);
  }
  
  template <class TElem> TElem ValueStackOf<TElem>::pop()
  {
      const int curSize = fVector.size();
      if (curSize == 0)
          ThrowXML(EmptyStackException, XMLExcepts::Stack_EmptyStack);
  
      TElem retVal = fVector.elementAt(curSize-1);
      fVector.removeElementAt(curSize-1);
      return retVal;
  }
  
  template <class TElem> void ValueStackOf<TElem>::removeAllElements()
  {
      fVector.removeAllElements();
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueStackOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> bool ValueStackOf<TElem>::empty()
  {
      return (fVector.size() == 0);
  }
  
  template <class TElem> unsigned int ValueStackOf<TElem>::curCapacity()
  {
      return fVector.curCapacity();
  }
  
  template <class TElem> unsigned int ValueStackOf<TElem>::size()
  {
      return fVector.size();
  }
  
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueStackEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueStackEnumerator<TElem>::
  ValueStackEnumerator(       ValueStackOf<TElem>* const  toEnum
                      , const bool                        adopt) :
  
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
      , fVector(&toEnum->fVector)
  {
  }
  
  template <class TElem> ValueStackEnumerator<TElem>::~ValueStackEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueStackEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool ValueStackEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fVector->size())
          return false;
      return true;
  }
  
  template <class TElem> TElem& ValueStackEnumerator<TElem>::nextElement()
  {
      return fVector->elementAt(fCurIndex++);
  }
  
  template <class TElem> void ValueStackEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueStackOf.hpp
  
  Index: ValueStackOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ValueStackOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:30  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(VALUESTACKOF_HPP)
  #define VALUESTACKOF_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLEnumerator.hpp>
  #include <util/EmptyStackException.hpp>
  #include <util/ValueVectorOf.hpp>
  
  
  //
  //  Forward declare the enumerator so he can be our friend. Can you say
  //  friend? Sure...
  //
  template <class TElem> class ValueStackEnumerator;
  
  
  template <class TElem> class ValueStackOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ValueStackOf(const unsigned int fInitCapacity);
      ~ValueStackOf();
  
  
      // -----------------------------------------------------------------------
      //  Element management methods
      // -----------------------------------------------------------------------
      void push(const TElem& toPush);
      const TElem& peek() const;
      TElem pop();
      void removeAllElements();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool empty();
      unsigned int curCapacity();
      unsigned int size();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Declare our friends
      // -----------------------------------------------------------------------
      friend class ValueStackEnumerator<TElem>;
  
  
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fVector
      //      The vector that is used as the backing data structure for the
      //      stack.
      // -----------------------------------------------------------------------
      ValueVectorOf<TElem>    fVector;
  };
  
  
  
  //
  //  An enumerator for a value stack. It derives from the basic enumerator
  //  class, so that value stacks can be generically enumerated.
  //
  template <class TElem> class ValueStackEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ValueStackEnumerator
      (
                  ValueStackOf<TElem>* const  toEnum
          , const bool                        adopt = false
      );
      ~ValueStackEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed stack. If so then
      //      we delete the stack when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the vector inside the stack being
      //      enumerated.
      //
      //  fToEnum
      //      The stack that is being enumerated. This is just kept for
      //      adoption purposes, since we really are enumerating the vector
      //      inside of it.
      // -----------------------------------------------------------------------
      bool                    fAdopted;
      unsigned int            fCurIndex;
      ValueVectorOf<TElem>*   fVector;
      ValueStackOf<TElem>*    fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/ValueStackOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueVectorOf.c
  
  Index: ValueVectorOf.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Log: ValueVectorOf.c,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/08/09 15:24:37  knoaman
   * add support for <anyAttribute> declaration.
   *
   * Revision 1.3  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:31  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:18  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/ValueVectorOf.hpp>
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorOf: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueVectorOf<TElem>::
  ValueVectorOf(const unsigned int maxElems) :
  
      fCurCount(0)
      , fMaxCount(maxElems)
      , fElemList(0)
  {
      fElemList = new TElem[fMaxCount];
  }
  
  template <class TElem> ValueVectorOf<TElem>::
  ValueVectorOf(const ValueVectorOf<TElem>& toCopy) :
  
      fCurCount(toCopy.fCurCount)
      , fMaxCount(toCopy.fMaxCount)
      , fElemList(0)
  {
      fElemList = new TElem[fMaxCount];
      for (unsigned int index = 0; index < fCurCount; index++)
          fElemList[index] = toCopy.fElemList[index];
  }
  
  template <class TElem> ValueVectorOf<TElem>::~ValueVectorOf()
  {
      delete [] fElemList;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorOf: Operators
  // ---------------------------------------------------------------------------
  template <class TElem> ValueVectorOf<TElem>&
  ValueVectorOf<TElem>::operator=(const ValueVectorOf<TElem>& toAssign)
  {
      if (this == &toAssign)
          return *this;
  
      // Reallocate if required
      if (fMaxCount < toAssign.fCurCount)
      {
          delete [] fElemList;
          fElemList = new TElem[toAssign.fMaxCount];
          fMaxCount = toAssign.fMaxCount;
      }
  
      fCurCount = toAssign.fCurCount;
      for (unsigned int index = 0; index < fCurCount; index++)
          fElemList[index] = toAssign.fElemList[index];
  
      return *this;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorOf: Element management
  // ---------------------------------------------------------------------------
  template <class TElem> void ValueVectorOf<TElem>::addElement(const TElem& toAdd)
  {
      ensureExtraCapacity(1);
      fElemList[fCurCount] = toAdd;
      fCurCount++;
  }
  
  template <class TElem> void ValueVectorOf<TElem>::
  setElementAt(const TElem& toSet, const unsigned int setAt)
  {
      if (setAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
      fElemList[setAt] = toSet;
  }
  
  template <class TElem> void ValueVectorOf<TElem>::
  insertElementAt(const TElem& toInsert, const unsigned int insertAt)
  {
      if (insertAt == fCurCount)
      {
          addElement(toInsert);
          return;
      }
  
      if (insertAt > fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      // Make room for the newbie
      for (unsigned int index = fCurCount; index > insertAt; index--)
          fElemList[index] = fElemList[index-1];
  
      // And stick it in and bump the count
      fElemList[insertAt] = toInsert;
      fCurCount++;
  }
  
  template <class TElem> void ValueVectorOf<TElem>::
  removeElementAt(const unsigned int removeAt)
  {
      if (removeAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
  
      if (removeAt == fCurCount-1)
      {
          fCurCount--;
          return;
      }
  
      // Copy down every element above remove point
      for (unsigned int index = removeAt; index < fCurCount-1; index++)
          fElemList[index] = fElemList[index+1];
  
      // And bump down count
      fCurCount--;
  }
  
  template <class TElem> void ValueVectorOf<TElem>::removeAllElements()
  {
      fCurCount = 0;
  }
  
  template <class TElem> 
  bool ValueVectorOf<TElem>::containsElement(const TElem& toCheck) {
  
      for (unsigned int i = 0; i < fCurCount; i++) {
          if (fElemList[i] == toCheck) {
              return true;
          }
      }
  
      return false;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorOf: Getter methods
  // ---------------------------------------------------------------------------
  template <class TElem> const TElem& ValueVectorOf<TElem>::
  elementAt(const unsigned int getAt) const
  {
      if (getAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
      return fElemList[getAt];
  }
  
  template <class TElem> TElem& ValueVectorOf<TElem>::
  elementAt(const unsigned int getAt)
  {
      if (getAt >= fCurCount)
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Vector_BadIndex);
      return fElemList[getAt];
  }
  
  template <class TElem> unsigned int ValueVectorOf<TElem>::curCapacity() const
  {
      return fMaxCount;
  }
  
  template <class TElem> unsigned int ValueVectorOf<TElem>::size() const
  {
      return fCurCount;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorOf: Miscellaneous
  // ---------------------------------------------------------------------------
  template <class TElem> void ValueVectorOf<TElem>::
  ensureExtraCapacity(const unsigned int length)
  {
      unsigned int newMax = fCurCount + length;
  
      if (newMax < fMaxCount)
          return;
  
      // Avoid too many reallocations by expanding by a percentage
      unsigned int minNewMax = (unsigned int)((double)fCurCount * 1.25);
      if (newMax < minNewMax)
          newMax = minNewMax;
  
      TElem* newList = new TElem[newMax];
      for (unsigned int index = 0; index < fCurCount; index++)
          newList[index] = fElemList[index];
  
      delete [] fElemList;
      fElemList = newList;
      fMaxCount = newMax;
  }
  
  template <class TElem> const TElem* ValueVectorOf<TElem>::rawData() const
  {
      return fElemList;
  }
  
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorEnumerator: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class TElem> ValueVectorEnumerator<TElem>::
  ValueVectorEnumerator(       ValueVectorOf<TElem>* const toEnum
                       , const bool                        adopt) :
      fAdopted(adopt)
      , fCurIndex(0)
      , fToEnum(toEnum)
  {
  }
  
  template <class TElem> ValueVectorEnumerator<TElem>::~ValueVectorEnumerator()
  {
      if (fAdopted)
          delete fToEnum;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ValueVectorEnumerator: Enum interface
  // ---------------------------------------------------------------------------
  template <class TElem> bool
  ValueVectorEnumerator<TElem>::hasMoreElements() const
  {
      if (fCurIndex >= fToEnum->size())
          return false;
      return true;
  }
  
  template <class TElem> TElem& ValueVectorEnumerator<TElem>::nextElement()
  {
      return fToEnum->elementAt(fCurIndex++);
  }
  
  template <class TElem> void ValueVectorEnumerator<TElem>::Reset()
  {
      fCurIndex = 0;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/ValueVectorOf.hpp
  
  Index: ValueVectorOf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ValueVectorOf.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/08/09 15:24:37  knoaman
   * add support for <anyAttribute> declaration.
   *
   * Revision 1.4  2000/03/02 19:54:47  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:33  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:19  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(VALUEVECTOROF_HPP)
  #define VALUEVECTOROF_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/XMLEnumerator.hpp>
  
  
  template <class TElem> class ValueVectorOf
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ValueVectorOf(const unsigned int maxElems);
      ValueVectorOf(const ValueVectorOf<TElem>& toCopy);
      ~ValueVectorOf();
  
  
      // -----------------------------------------------------------------------
      //  Operators
      // -----------------------------------------------------------------------
      ValueVectorOf<TElem>& operator=(const ValueVectorOf<TElem>& toAssign);
  
      
      // -----------------------------------------------------------------------
      //  Element management
      // -----------------------------------------------------------------------
      void addElement(const TElem& toAdd);
      void setElementAt(const TElem& toSet, const unsigned int setAt);
      void insertElementAt(const TElem& toInsert, const unsigned int insertAt);
      void removeElementAt(const unsigned int removeAt);
      void removeAllElements();
      bool containsElement(const TElem& toCheck);
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const TElem& elementAt(const unsigned int getAt) const;
      TElem& elementAt(const unsigned int getAt);
      unsigned int curCapacity() const;
      unsigned int size() const;
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
      void ensureExtraCapacity(const unsigned int length);
      const TElem* rawData() const;
  
  
  private:
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fCurCount
      //      The count of values current added to the vector, which may be
      //      less than the internal capacity.
      //
      //  fMaxCount
      //      The current capacity of the vector.
      //
      //  fElemList
      //      The list of elements, which is dynamically allocated to the needed
      //      size.
      // -----------------------------------------------------------------------
      unsigned int    fCurCount;
      unsigned int    fMaxCount;
      TElem*          fElemList;
  };
  
  
  //
  //  An enumerator for a value vector. It derives from the basic enumerator
  //  class, so that value vectors can be generically enumerated.
  //
  template <class TElem> class ValueVectorEnumerator : public XMLEnumerator<TElem>
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ValueVectorEnumerator
      (
                  ValueVectorOf<TElem>* const toEnum
          , const bool                        adopt = false
      );
      ~ValueVectorEnumerator();
  
  
      // -----------------------------------------------------------------------
      //  Enum interface
      // -----------------------------------------------------------------------
      bool hasMoreElements() const;
      TElem& nextElement();
      void Reset();
  
  
  private :    
      // -----------------------------------------------------------------------
      //  Data Members
      //
      //  fAdopted
      //      Indicates whether we have adopted the passed vector. If so then
      //      we delete the vector when we are destroyed.
      //
      //  fCurIndex
      //      This is the current index into the vector.
      //
      //  fToEnum
      //      The value vector being enumerated.
      // -----------------------------------------------------------------------
      bool                    fAdopted;
      unsigned int            fCurIndex;
      ValueVectorOf<TElem>*   fToEnum;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/ValueVectorOf.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XML256TableTranscoder.hpp
  
  Index: XML256TableTranscoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XML256TableTranscoder.hpp,v $
   * Revision 1.1  2002/03/22 00:41:54  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2000/03/18 00:00:32  roddey
   * Initial updates for two way transcoding support
   *
   */
  
  
  #ifndef XML256TABLETRANSCODER_HPP
  #define XML256TABLETRANSCODER_HPP
  
  #include <util/TransService.hpp>
  
  //
  //  This class implements the functionality of a common type of transcoder
  //  for an 8 bit, single byte encoding based on a set of 'to' and 'from'
  //  translation tables. Actual derived classes are trivial and just have to
  //  provide us with pointers to their tables and we do all the work.
  //
  class XMLUTIL_EXPORT XML256TableTranscoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      virtual ~XML256TableTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  The virtual transcoding interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XML256TableTranscoder
      (
          const   XMLCh* const                        encodingName
          , const unsigned int                        blockSize
          , const XMLCh* const                        fromTable
          , const XMLTransService::TransRec* const    toTable
          , const unsigned int                        toTableSize
      );
  
  
      // -----------------------------------------------------------------------
      //  Protected helper methods
      // -----------------------------------------------------------------------
      XMLByte xlatOneTo
      (
          const   XMLCh       toXlat
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XML256TableTranscoder();
      XML256TableTranscoder(const XML256TableTranscoder&);
      void operator=(const XML256TableTranscoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fFromTable
      //      This is the 'from' table that we were given during construction.
      //      It is a 256 entry table of XMLCh chars. Each entry is the
      //      Unicode code point for the external encoding point of that value.
      //      So fFromTable[N] is the Unicode translation of code point N of
      //      the source encoding.
      //
      //      We don't own this table, we just refer to it. It is assumed that
      //      the table is static, for performance reasons.
      //
      //  fToSize
      //      The 'to' table is variable sized. This indicates how many records
      //      are in it.
      //
      //  fToTable
      //      This is a variable sized table of TransRec structures. It must
      //      be sorted by the intCh field, i.e. the XMLCh field. It is searched
      //      binarily to find the record for a particular Unicode char. Then
      //      that record's extch field is the translation record.
      //
      //      We don't own this table, we just refer to it. It is assumed that
      //      the table is static, for performance reasons.
      //
      //      NOTE: There may be dups of the extCh field, since there might be
      //      multiple Unicode code points which map to the same external code
      //      point. Normally this won't happen, since the parser assumes that
      //      internalization is normalized, but we have to be prepared to do
      //      the right thing if some client code gives us non-normalized data
      //      itself.
      // -----------------------------------------------------------------------
      const XMLCh*                        fFromTable;
      unsigned int                        fToSize;
      const XMLTransService::TransRec*    fToTable;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XML88591Transcoder.hpp
  
  Index: XML88591Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XML88591TRANSCODER_HPP
  #define XML88591TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple 8859-1 transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XML88591Transcoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XML88591Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XML88591Transcoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XML88591Transcoder(const XML88591Transcoder&);
      void operator=(const XML88591Transcoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLASCIITranscoder.hpp
  
  Index: XMLASCIITranscoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLASCIITRANSCODER_HPP
  #define XMLASCIITRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple ASCII transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XMLASCIITranscoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and destructor
      // -----------------------------------------------------------------------
      XMLASCIITranscoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLASCIITranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLASCIITranscoder(const XMLASCIITranscoder&);
      void operator=(const XMLASCIITranscoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLBigDecimal.hpp
  
  Index: XMLBigDecimal.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLBigDecimal.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #ifndef XML_BIGDECIMAL_HPP
  #define XML_BIGDECIMAL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLNumber.hpp>
  #include <util/XMLBigInteger.hpp>
  
  class XMLUTIL_EXPORT XMLBigDecimal : public XMLNumber
  {
  public:
  
  	/**
  	 * Constructs a newly allocated <code>XMLBigDecimal</code> object that
  	 * represents the value represented by the string.
  	 *
  	 * @param      the <code>String</code> to be converted to an
  	 *                 <code>XMLBigDecimal</code>.
  	 * @exception  NumberFormatException  if the <code>String</code> does not
  	 *               contain a parsable XMLBigDecimal.
  	 */
  
      XMLBigDecimal(const XMLCh* const strValue);
  
      ~XMLBigDecimal();
  
      XMLBigDecimal(const XMLBigDecimal& toCopy);
  
  	/**
  	 * Constructs a newly allocated <code>XMLBigDecimal</code> object 
  	 * from an existing XMLBigDecimal with an extra Exponent.
  	 */
      XMLBigDecimal(const XMLBigDecimal& toCopy, const int addExponent);
  
      static void           parseBigDecimal(const XMLCh* const strValue
                                          , XMLCh* const       retValue
                                          , unsigned int&      scaleValue);
  
      static int            compareValues(const XMLBigDecimal* const lValue
                                        , const XMLBigDecimal* const rValue);
  
      static void           matchScale(XMLBigDecimal* const lValue
                                     , XMLBigDecimal* const rValue);
  
  
      virtual XMLCh*        toString() const;
  
      virtual int           getSign() const;
  
      XMLBigInteger*        getValue() const;
  
      unsigned int          getScale() const;
  
      unsigned int          getTotalDigit() const;
  
  
  
  	/**
  	 * Compares this object to the specified object.
  	 * The result is <code>true</code> if and only if the argument is not
  	 * <code>null</code> and is an <code>XMLBigDecimal</code> object that contains
  	 * the same <code>int</code> value as this object.
  	 *
  	 * @param   obj   the object to compare with.
  	 * @return  <code>true</code> if the objects are the same;
  	 *          <code>false</code> otherwise.
  	 */
  	bool operator==(const XMLBigDecimal& toCompare) const;
  
  private:
  
      void         reScale(unsigned int newValue);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fIntVal
      //     the XMLBigInteger holding the value of this BigDecimal.
      //
  	//  fScale
      //     the number of digits to the right of the decimal point
      //
      // -----------------------------------------------------------------------
  
  	XMLBigInteger*   fIntVal;
  	unsigned int     fScale;
  
  };
  
  inline XMLBigDecimal::~XMLBigDecimal()
  {
      delete fIntVal;
  }
  
  inline int XMLBigDecimal::getSign() const
  {
      return fIntVal->getSign();
  }
  
  inline XMLBigInteger* XMLBigDecimal::getValue() const
  {
      return fIntVal;
  }
  
  inline unsigned int XMLBigDecimal::getScale() const
  {
      return fScale;
  }
  
  inline unsigned int XMLBigDecimal::getTotalDigit() const
  {
      return fIntVal->getTotalDigit();
  }
  
  inline bool XMLBigDecimal::operator==(const XMLBigDecimal& toCompare) const
  {
      return ( XMLBigInteger::compareValues(this->fIntVal, toCompare.fIntVal) == 0 ? true : false);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLBigInteger.hpp
  
  Index: XMLBigInteger.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001 International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLBigInteger.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #ifndef XML_BIGINTEGER_HPP
  #define XML_BIGINTEGER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLString.hpp>
  
  class XMLUTIL_EXPORT XMLBigInteger
  {
  public:
  
  	/**
  	 * Constructs a newly allocated <code>XMLBigInteger</code> object that
  	 * represents the value represented by the string. The string is
  	 * converted to an int value as if by the <code>valueOf</code> method.
  	 *
  	 * @param      s   the <code>String</code> to be converted to an
  	 *                 <code>XMLBigInteger</code>.
  	 * @exception  NumberFormatException  if the <code>String</code> does not
  	 *               contain a parsable XMLBigInteger.
  	 */
  
  	XMLBigInteger(const XMLCh* const strValue);
  
  	~XMLBigInteger();
  
  	XMLBigInteger(const XMLBigInteger& toCopy);
  
      static void parseBigInteger(const XMLCh* const toConvert
                                , XMLCh* const       retBuffer
                                , int&   signValue);
  
      static int  compareValues(const XMLBigInteger* const lValue
                               ,const XMLBigInteger* const rValue);
  
  
      void        multiply(const unsigned int byteToShift);
  
      void        divide(const unsigned int byteToShift);
  
      int         getTotalDigit() const;
  
  	/**
  	 *  Return a copy of the fMagnitue.
       *  A leading sign is ALWAYS in place and the caller of this method
       *  is responsible for the de-allocation of the memory.
  	 */
      XMLCh*      toString() const;
  
  	/**
  	 * Compares this object to the specified object.
  	 * The result is <code>true</code> if and only if the argument is not
  	 * <code>null</code> and is an <code>XMLBigInteger</code> object that contains
  	 * the same <code>int</code> value as this object.
  	 *
  	 * @param   obj   the object to compare with.
  	 * @return  <code>true</code> if the objects are the same;
  	 *          <code>false</code> otherwise.
  	 */
  	bool operator==(const XMLBigInteger& toCompare) const;
  
  	/**
  	 * Returns the signum function of this number (i.e., -1, 0 or 1 as
  	 * the value of this number is negative, zero or positive).
  	 */
  	int getSign() const;
  
      int intValue() const;
  
  private:
  
  	void setSign(int);
  
  	/*
  	 * The number is internally stored in "minimal" sign-fMagnitude format
  	 * (i.e., no BigIntegers have a leading zero byte in their magnitudes).
  	 * Zero is represented with a signum of 0 (and a zero-length fMagnitude).
  	 * Thus, there is exactly one representation for each value.
  	 */
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSign
      //     to represent the sign of the number.
      //
  	//  fMagnitude
      //     the buffer holding the number.
      //
      // -----------------------------------------------------------------------
  
      int         fSign;
  	XMLCh*      fMagnitude;  //null terminated
  
  };
  
  inline int XMLBigInteger::getSign() const
  {	
      return fSign;
  }
  
  inline int XMLBigInteger::getTotalDigit() const
  {
      return ((getSign() ==0) ? 0 : XMLString::stringLen(fMagnitude));
  }
  
  inline bool XMLBigInteger::operator==(const XMLBigInteger& toCompare) const
  {
      return ( compareValues(this, &toCompare) ==0 ? true : false);
  }
  
  inline void XMLBigInteger::setSign(int newSign)
  {
      fSign = newSign;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLChTranscoder.hpp
  
  Index: XMLChTranscoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLCHTRANSCODER_HPP
  #define XMLCHTRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple XMLCh transcoder. This is used for internal entities, which
  //  are already in the native XMLCh format.
  //
  class XMLUTIL_EXPORT XMLChTranscoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLChTranscoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLChTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLChTranscoder(const XMLChTranscoder&);
      void operator=(const XMLChTranscoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDeleterFor.c
  
  Index: XMLDeleterFor.c
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLDeleterFor.c,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2000/03/02 19:54:48  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #if defined(XERCES_TMPLSINC)
  #include <util/XMLDeleterFor.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  XMLDeleterFor: Constructors and Destructor
  // ---------------------------------------------------------------------------
  template <class T> XMLDeleterFor<T>::XMLDeleterFor(T* const toDelete) :
  
      fToDelete(toDelete)
  {
  }
  
  template <class T> XMLDeleterFor<T>::~XMLDeleterFor()
  {
     delete fToDelete;
  }
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDeleterFor.hpp
  
  Index: XMLDeleterFor.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLDeleterFor.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2000/03/09 22:38:08  abagchi
   * Changed copy constructor to make it work on SunOS 5.7
   *
   * Revision 1.1  2000/03/02 19:54:48  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   */
  
  
  #if !defined(XMLDELETERFOR_HPP)
  #define XMLDELETERFOR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/PlatformUtils.hpp>
  
  
  // 
  //  For internal use only.
  //
  //  This class is used by the platform utilities class to support cleanup
  //  of global/static data which is lazily created. Since that data is
  //  widely spread out, and in higher level DLLs, the platform utilities
  //  class cannot know about them directly. So, the code that creates such
  //  objects creates an registers a deleter for the object. The platform
  //  termination call will iterate the list and delete the objects.
  //
  template <class T> class XMLDeleterFor : public XMLDeleter
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLDeleterFor(T* const toDelete);
      ~XMLDeleterFor();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLDeleterFor();
      XMLDeleterFor(const XMLDeleterFor<T>&);
      void operator=(const XMLDeleterFor<T>&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fToDelete
      //      This is a pointer to the data to destroy
      // -----------------------------------------------------------------------
      T*  fToDelete;
  };
  
  
  #if !defined(XERCES_TMPLSINC)
  #include <util/XMLDeleterFor.c>
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLDouble.hpp
  
  Index: XMLDouble.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLDouble.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLDouble.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/10/25 21:54:50  peiyongz
   * Apply XMLRegisterCleanup
   *
   * Revision 1.6  2001/09/27 14:54:20  peiyongz
   * DTV Reorganization: derived from XMLNumber
   *
   * Revision 1.5  2001/08/29 19:03:03  peiyongz
   * Bugzilla# 2816:on AIX 4.2, xlC 3 r ev.1, Compilation error on inline method
   *
   * Revision 1.4  2001/07/31 13:48:29  peiyongz
   * fValue removed
   *
   * Revision 1.3  2001/07/26 18:21:15  peiyongz
   * Boundary Checking
   *
   * Revision 1.2  2001/07/24 21:52:27  peiyongz
   * XMLDouble: move fg...String to XMLUni
   *
   * Revision 1.1  2001/07/24 13:58:11  peiyongz
   * XMLDouble and related supporting methods from XMLBigInteger/XMLBigDecimal
   *
   */
  
  #ifndef XML_DOUBLE_HPP
  #define XML_DOUBLE_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLNumber.hpp>
  #include <util/XMLBigDecimal.hpp>
  
  /***
   * 3.2.5.1 Lexical representation
   *
   *   double values have a lexical representation consisting of a mantissa followed, 
   *   optionally, by the character "E" or "e", followed by an exponent. 
   *
   *   The exponent �must� be an integer. 
   *   The mantissa must be a decimal number. 
   *   The representations for exponent and mantissa must follow the lexical rules 
   *   for integer and decimal. 
   *
   *   If the "E" or "e" and the following exponent are omitted, 
   *   an exponent value of 0 is assumed. 
  ***/
  
  class XMLUTIL_EXPORT XMLDouble : public XMLNumber
  {
  public:
  
  	/**
  	 * Constructs a newly allocated <code>XMLDouble</code> object that
  	 * represents the value represented by the string.
  	 *
  	 * @param      the <code>String</code> to be converted to an
  	 *                 <code>XMLDouble</code>.
  	 * @exception  NumberFormatException  if the <code>String</code> does not
  	 *               contain a parsable XMLDouble.
  	 */
  
      enum LiteralType
      {
          NegINF,
          NegZero,
          PosZero,
          PosINF,
          NaN,
          SpecialTypeNum = 5,
          Normal
      };
  
      XMLDouble(const XMLCh* const strValue);
  
      ~XMLDouble();
  
      XMLDouble(const XMLDouble& toCopy);
     
      virtual XMLCh*        toString() const;
  
      virtual int           getSign() const;
  
  	/**
  	 * Compares this object to the specified object.
  	 * The result is <code>true</code> if and only if the argument is not
  	 * <code>null</code> and is an <code>XMLDouble</code> object that contains
  	 * the same <code>int</code> value as this object.
  	 *
  	 * @param   obj   the object to compare with.
  	 * @return  <code>true</code> if the objects are the same;
  	 *          <code>false</code> otherwise.
  	 */
  	bool operator==(const XMLDouble& toCompare) const;
  
      static int            compareValues(const XMLDouble* const lValue
                                        , const XMLDouble* const rValue);
  
      // -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitXMLDouble();   
  
  private:
  
      void                  init(const XMLCh* const strValue);
  
      void                  checkBoundary(const XMLCh* const strValue);
  
      void                  cleanUp();
  
      bool                  isSpecialValue() const;
  
      static int            compareSpecial(const XMLDouble* const specialValue
                                         , const XMLDouble* const normalValue);
  
      static bool           isInitialized;
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fMantissa
      //     the XMLBigDecimal holding the value of mantissa.
      //
      //  fExponent
      //     the XMLBigInteger holding the value of exponent.
      //
      //  fType
      //     the type of the object.
      //
      // -----------------------------------------------------------------------
  
      XMLBigDecimal*          fMantissa;
  	XMLBigInteger*          fExponent;   
      LiteralType             fType;
  };
  
  inline int XMLDouble::getSign() const
  {
      return fMantissa->getSign();
  }
  
  inline bool XMLDouble::operator==(const XMLDouble& toCompare) const
  {
      return ( XMLDouble::compareValues(this, &toCompare) == 0 ? true : false);
  }
  
  inline bool XMLDouble::isSpecialValue() const
  {
      return (fType < SpecialTypeNum);
  }
  
  inline void XMLDouble::cleanUp()
  {
      if (fMantissa)
          delete fMantissa;
  
      if (fExponent)
          delete fExponent;
  }
  
  inline XMLDouble::~XMLDouble()
  {
      cleanUp();
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLEBCDICTranscoder.hpp
  
  Index: XMLEBCDICTranscoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLEBCDICTRANSCODER_HPP
  #define XMLEBCDICTRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XML256TableTranscoder.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple EBCDIC-US transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  //  EBCDIC-US is the same as IBM037, CP37, EBCDIC-CP-US, etc...
  //
  class XMLUTIL_EXPORT XMLEBCDICTranscoder : public XML256TableTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public, static methods
      // -----------------------------------------------------------------------
      static XMLCh xlatThisOne(const XMLByte toXlat);
  
  
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLEBCDICTranscoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLEBCDICTranscoder();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLEBCDICTranscoder();
      XMLEBCDICTranscoder(const XMLEBCDICTranscoder&);
      void operator=(const XMLEBCDICTranscoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLEnumerator.hpp
  
  Index: XMLEnumerator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLEnumerator.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:54:48  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:37  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:19  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLENUMERATOR_HPP)
  #define XMLENUMERATOR_HPP
  
  #include <util/XercesDefs.hpp>
  
  template <class TElem> class XMLEnumerator
  {
  public :
      // -----------------------------------------------------------------------
      //  XMLEnumerator interface
      // -----------------------------------------------------------------------
      virtual bool hasMoreElements() const = 0;
      virtual TElem& nextElement() = 0;
      virtual void Reset() = 0;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLExceptMsgs.hpp
  
  Index: XMLExceptMsgs.hpp
  ===================================================================
  // This file is generated, don't edit it!!
  
  #if !defined(ERRHEADER_XMLExcepts)
  #define ERRHEADER_XMLExcepts
  
  class XMLExcepts
  {
  public :
      enum Codes
      {
          NoError                            = 0
        , E_LowBounds                        = 1
        , Array_BadIndex                     = 2
        , Array_BadNewSize                   = 3
        , AttrList_BadIndex                  = 4
        , AttDef_BadAttType                  = 5
        , AttDef_BadDefAttType               = 6
        , Bitset_BadIndex                    = 7
        , Bitset_NotEqualSize                = 8
        , BufMgr_NoMoreBuffers               = 9
        , BufMgr_BufferNotInPool             = 10
        , CPtr_PointerIsZero                 = 11
        , CM_BinOpHadUnaryType               = 12
        , CM_MustBeMixedOrChildren           = 13
        , CM_NoPCDATAHere                    = 14
        , CM_NotValidForSpecType             = 15
        , CM_UnaryOpHadBinType               = 16
        , CM_UnknownCMType                   = 17
        , CM_UnknownCMSpecType               = 18
        , CM_NoParentCSN                     = 19
        , CM_NotValidSpecTypeForNode         = 20
        , DTD_UnknownCreateReason            = 21
        , ElemStack_EmptyStack               = 22
        , ElemStack_BadIndex                 = 23
        , ElemStack_StackUnderflow           = 24
        , ElemStack_NoParentPushed           = 25
        , Enum_NoMoreElements                = 26
        , File_CouldNotOpenFile              = 27
        , File_CouldNotGetCurPos             = 28
        , File_CouldNotCloseFile             = 29
        , File_CouldNotSeekToEnd             = 30
        , File_CouldNotSeekToPos             = 31
        , File_CouldNotDupHandle             = 32
        , File_CouldNotReadFromFile          = 33
        , File_CouldNotResetFile             = 34
        , File_CouldNotGetSize               = 35
        , File_CouldNotGetBasePathName       = 36
        , File_BasePathUnderflow             = 37
        , Gen_ParseInProgress                = 38
        , Gen_NoDTDValidator                 = 39
        , Gen_CouldNotOpenDTD                = 40
        , Gen_CouldNotOpenExtEntity          = 41
        , Gen_UnexpectedEOF                  = 42
        , HshTbl_ZeroModulus                 = 43
        , HshTbl_BadHashFromKey              = 44
        , HshTbl_NoSuchKeyExists             = 45
        , Mutex_CouldNotCreate               = 46
        , Mutex_CouldNotClose                = 47
        , Mutex_CouldNotLock                 = 48
        , Mutex_CouldNotUnlock               = 49
        , Mutex_CouldNotDestroy              = 50
        , NetAcc_InternalError               = 51
        , NetAcc_InitFailed                  = 52
        , NetAcc_TargetResolution            = 53
        , NetAcc_CreateSocket                = 54
        , NetAcc_ConnSocket                  = 55
        , NetAcc_WriteSocket                 = 56
        , NetAcc_ReadSocket                  = 57
        , Pool_ElemAlreadyExists             = 58
        , Pool_BadHashFromKey                = 59
        , Pool_InvalidId                     = 60
        , Pool_ZeroModulus                   = 61
        , RdrMgr_ReaderIdNotFound            = 62
        , Reader_BadAutoEncoding             = 63
        , Reader_CouldNotDecodeFirstLine     = 64
        , Reader_EOIInMultiSeq               = 65
        , Reader_SrcOfsNotSupported          = 66
        , Reader_EncodingStrRequired         = 67
        , Scan_CouldNotOpenSource            = 68
        , Scan_UnbalancedStartEnd            = 69
        , Scan_BadPScanToken                 = 70
        , Stack_BadIndex                     = 71
        , Stack_EmptyStack                   = 72
        , Str_ZeroSizedTargetBuf             = 73
        , Str_UnknownRadix                   = 74
        , Str_TargetBufTooSmall              = 75
        , Str_StartIndexPastEnd              = 76
        , Str_ConvertOverflow                = 77
        , Strm_StdErrWriteFailure            = 78
        , Strm_StdOutWriteFailure            = 79
        , Strm_ConWriteFailure               = 80
        , StrPool_IllegalId                  = 81
        , Trans_CouldNotCreateDefCvtr        = 82
        , Trans_InvalidSizeReq               = 83
        , Trans_Unrepresentable              = 84
        , Trans_NotValidForEncoding          = 85
        , Trans_BadBlockSize                 = 86
        , Trans_BadSrcSeq                    = 87
        , Trans_BadSrcCP                     = 88
        , Trans_BadTrailingSurrogate         = 89
        , Trans_CantCreateCvtrFor            = 90
        , URL_MalformedURL                   = 91
        , URL_UnsupportedProto               = 92
        , URL_UnsupportedProto1              = 93
        , URL_OnlyLocalHost                  = 94
        , URL_NoProtocolPresent              = 95
        , URL_ExpectingTwoSlashes            = 96
        , URL_IncorrectEscapedCharRef        = 97
        , URL_UnterminatedHostComponent      = 98
        , URL_RelativeBaseURL                = 99
        , URL_BaseUnderflow                  = 100
        , URL_BadPortField                   = 101
        , Vector_BadIndex                    = 102
        , Val_InvalidElemId                  = 103
        , Val_CantHaveIntSS                  = 104
        , XMLRec_UnknownEncoding             = 105
        , Parser_Parse1                      = 106
        , Parser_Parse2                      = 107
        , Parser_Next1                       = 108
        , Parser_Next2                       = 109
        , Parser_Next3                       = 110
        , Parser_Next4                       = 111
        , Parser_Factor1                     = 112
        , Parser_Factor2                     = 113
        , Parser_Factor3                     = 114
        , Parser_Factor4                     = 115
        , Parser_Factor5                     = 116
        , Parser_Factor6                     = 117
        , Parser_Atom1                       = 118
        , Parser_Atom2                       = 119
        , Parser_Atom3                       = 120
        , Parser_Atom4                       = 121
        , Parser_Atom5                       = 122
        , Parser_CC1                         = 123
        , Parser_CC2                         = 124
        , Parser_CC3                         = 125
        , Parser_CC4                         = 126
        , Parser_CC5                         = 127
        , Parser_CC6                         = 128
        , Parser_CC7                         = 129
        , Parser_Ope1                        = 130
        , Parser_Ope2                        = 131
        , Parser_Ope3                        = 132
        , Parser_Descape1                    = 133
        , Parser_Descape2                    = 134
        , Parser_Descape3                    = 135
        , Parser_Descape4                    = 136
        , Parser_Descape5                    = 137
        , Parser_Process1                    = 138
        , Parser_Process2                    = 139
        , Gen_NoSchemaValidator              = 140
        , XUTIL_UnCopyableNodeType           = 141
        , SubGrpComparator_NGR               = 142
        , FACET_Invalid_Len                  = 143
        , FACET_Invalid_maxLen               = 144
        , FACET_Invalid_minLen               = 145
        , FACET_NonNeg_Len                   = 146
        , FACET_NonNeg_maxLen                = 147
        , FACET_NonNeg_minLen                = 148
        , FACET_Len_maxLen                   = 149
        , FACET_Len_minLen                   = 150
        , FACET_maxLen_minLen                = 151
        , FACET_bool_Pattern                 = 152
        , FACET_Invalid_Tag                  = 153
        , FACET_Len_baseLen                  = 154
        , FACET_minLen_baseminLen            = 155
        , FACET_minLen_basemaxLen            = 156
        , FACET_maxLen_basemaxLen            = 157
        , FACET_maxLen_baseminLen            = 158
        , FACET_enum_base                    = 159
        , FACET_Invalid_WS                   = 160
        , FACET_WS_collapse                  = 161
        , FACET_WS_replace                   = 162
        , FACET_Invalid_MaxIncl              = 163
        , FACET_Invalid_MaxExcl              = 164
        , FACET_Invalid_MinIncl              = 165
        , FACET_Invalid_MinExcl              = 166
        , FACET_Invalid_TotalDigit           = 167
        , FACET_Invalid_FractDigit           = 168
        , FACET_NonNeg_TotalDigit            = 169
        , FACET_NonNeg_FractDigit            = 170
        , FACET_max_Incl_Excl                = 171
        , FACET_min_Incl_Excl                = 172
        , FACET_maxExcl_minExcl              = 173
        , FACET_maxExcl_minIncl              = 174
        , FACET_maxIncl_minExcl              = 175
        , FACET_maxIncl_minIncl              = 176
        , FACET_TotDigit_FractDigit          = 177
        , FACET_maxIncl_base_maxExcl         = 178
        , FACET_maxIncl_base_maxIncl         = 179
        , FACET_maxIncl_base_minIncl         = 180
        , FACET_maxIncl_base_minExcl         = 181
        , FACET_maxExcl_base_maxExcl         = 182
        , FACET_maxExcl_base_maxIncl         = 183
        , FACET_maxExcl_base_minIncl         = 184
        , FACET_maxExcl_base_minExcl         = 185
        , FACET_minExcl_base_maxExcl         = 186
        , FACET_minExcl_base_maxIncl         = 187
        , FACET_minExcl_base_minIncl         = 188
        , FACET_minExcl_base_minExcl         = 189
        , FACET_minIncl_base_maxExcl         = 190
        , FACET_minIncl_base_maxIncl         = 191
        , FACET_minIncl_base_minIncl         = 192
        , FACET_minIncl_base_minExcl         = 193
        , FACET_maxIncl_notFromBase          = 194
        , FACET_maxExcl_notFromBase          = 195
        , FACET_minIncl_notFromBase          = 196
        , FACET_minExcl_notFromBase          = 197
        , FACET_totalDigit_base_totalDigit   = 198
        , FACET_fractDigit_base_totalDigit   = 199
        , FACET_fractDigit_base_fractDigit   = 200
        , FACET_maxIncl_base_fixed           = 201
        , FACET_maxExcl_base_fixed           = 202
        , FACET_minIncl_base_fixed           = 203
        , FACET_minExcl_base_fixed           = 204
        , FACET_totalDigit_base_fixed        = 205
        , FACET_fractDigit_base_fixed        = 206
        , FACET_maxLen_base_fixed            = 207
        , FACET_minLen_base_fixed            = 208
        , FACET_len_base_fixed               = 209
        , FACET_whitespace_base_fixed        = 210
        , FACET_internalError_fixed          = 211
        , FACET_List_Null_baseValidator      = 212
        , FACET_Union_Null_memberTypeValidators   = 213
        , FACET_Union_Null_baseValidator     = 214
        , FACET_Union_invalid_baseValidatorType   = 215
        , VALUE_NotMatch_Pattern             = 216
        , VALUE_Not_Base64                   = 217
        , VALUE_Not_HexBin                   = 218
        , VALUE_GT_maxLen                    = 219
        , VALUE_LT_minLen                    = 220
        , VALUE_NE_Len                       = 221
        , VALUE_NotIn_Enumeration            = 222
        , VALUE_exceed_totalDigit            = 223
        , VALUE_exceed_fractDigit            = 224
        , VALUE_exceed_maxIncl               = 225
        , VALUE_exceed_maxExcl               = 226
        , VALUE_exceed_minIncl               = 227
        , VALUE_exceed_minExcl               = 228
        , VALUE_WS_replaced                  = 229
        , VALUE_WS_collapsed                 = 230
        , VALUE_Invalid_NCName               = 231
        , VALUE_Invalid_Name                 = 232
        , VALUE_ID_Not_Unique                = 233
        , VALUE_ENTITY_Invalid               = 234
        , VALUE_QName_Invalid                = 235
        , VALUE_NOTATION_Invalid             = 236
        , VALUE_no_match_memberType          = 237
        , VALUE_URI_Malformed                = 238
        , XMLNUM_emptyString                 = 239
        , XMLNUM_WSString                    = 240
        , XMLNUM_2ManyDecPoint               = 241
        , XMLNUM_Inv_chars                   = 242
        , XMLNUM_null_ptr                    = 243
        , XMLNUM_URI_Component_Empty         = 244
        , XMLNUM_URI_Component_for_GenURI_Only   = 245
        , XMLNUM_URI_Component_Invalid_EscapeSequence   = 246
        , XMLNUM_URI_Component_Invalid_Char   = 247
        , XMLNUM_URI_Component_Set_Null      = 248
        , XMLNUM_URI_Component_Not_Conformant   = 249
        , XMLNUM_URI_No_Scheme               = 250
        , XMLNUM_URI_NullHost                = 251
        , XMLNUM_URI_NullPath                = 252
        , XMLNUM_URI_Component_inPath        = 253
        , XMLNUM_URI_PortNo_Invalid          = 254
        , XMLNUM_DBL_FLT_maxNeg              = 255
        , XMLNUM_DBL_FLT_maxPos              = 256
        , XMLNUM_DBL_FLT_minNegPos           = 257
        , XMLNUM_DBL_FLT_InvalidType         = 258
        , XMLNUM_DBL_FLT_No_Exponent         = 259
        , Regex_Result_Not_Set               = 260
        , Regex_CompactRangesError           = 261
        , Regex_MergeRangesTypeMismatch      = 262
        , Regex_SubtractRangesError          = 263
        , Regex_IntersectRangesError         = 264
        , Regex_ComplementRangesInvalidArg   = 265
        , Regex_InvalidCategoryName          = 266
        , Regex_KeywordNotFound              = 267
        , Regex_BadRefNo                     = 268
        , Regex_UnknownOption                = 269
        , Regex_UnknownTokenType             = 270
        , Regex_RangeTokenGetError           = 271
        , Regex_NotSupported                 = 272
        , Regex_InvalidChildIndex            = 273
        , NEL_RepeatedCalls                  = 274
        , RethrowError                       = 275
        , Out_Of_Memory                      = 276
        , DV_InvalidOperation                = 277
        , E_HighBounds                       = 278
        , W_LowBounds                        = 279
        , W_HighBounds                       = 280
        , F_LowBounds                        = 281
        , F_HighBounds                       = 282
      };
  
  };
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLException.hpp
  
  Index: XMLException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLException.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #if !defined(EXCEPTION_HPP)
  #define EXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLExceptMsgs.hpp>
  #include <util/XMLUni.hpp>
  
  
  // ---------------------------------------------------------------------------
  //  This is the base class from which all the XML parser exceptions are
  //  derived. The virtual interface is very simple and most of the functionality
  //  is in this class.
  //
  //  Because all derivatives are EXACTLY the same except for the static
  //  string that is used to hold the name of the class, a macro is provided
  //  below via which they are all created.
  // ---------------------------------------------------------------------------
  class XMLUTIL_EXPORT XMLException
  {
  public:
      // -----------------------------------------------------------------------
      //  Virtual Destructor
      // -----------------------------------------------------------------------
      virtual ~XMLException();
  
  
      // -----------------------------------------------------------------------
      //  The XML exception virtual interface
      // -----------------------------------------------------------------------
      virtual const XMLCh* getType() const = 0;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      XMLExcepts::Codes getCode() const;
      const XMLCh* getMessage() const;
      const char* getSrcFile() const;
      unsigned int getSrcLine() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setPosition(const char* const file, const unsigned int line);
  
  
      // -----------------------------------------------------------------------
      //  Hidden constructors and operators
      //
      //  NOTE:   Technically, these should be protected, since this is a
      //          base class that is never used directly. However, VC++ 6.0 will
      //          fail to catch via a reference to base class if the ctors are
      //          not public!! This seems to have been caused by the install
      //          of IE 5.0.
      // -----------------------------------------------------------------------
      XMLException();
      XMLException(const char* const srcFile, const unsigned int srcLine);
      XMLException(const XMLException& toCopy);
      void operator=(const XMLException& toAssign);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected methods
      // -----------------------------------------------------------------------
      void loadExceptText
      (
          const   XMLExcepts::Codes toLoad
      );
      void loadExceptText
      (
          const   XMLExcepts::Codes toLoad
          , const XMLCh* const        text1
          , const XMLCh* const        text2 = 0
          , const XMLCh* const        text3 = 0
          , const XMLCh* const        text4 = 0
      );
      void loadExceptText
      (
          const   XMLExcepts::Codes toLoad
          , const char* const         text1
          , const char* const         text2 = 0
          , const char* const         text3 = 0
          , const char* const         text4 = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fCode
      //      The error code that this exception represents.
      //
      //  fSrcFile
      //  fSrcLine
      //      These are the file and line information from the source where the
      //      exception was thrown from.
      //
      //  fMsg
      //      The loaded message text for this exception.
      // -----------------------------------------------------------------------
      XMLExcepts::Codes fCode;
      char*               fSrcFile;
      unsigned int        fSrcLine;
      XMLCh*              fMsg;
  };
  
  // ---------------------------------------------------------------------------
  //  XMLException: Getter methods
  // ---------------------------------------------------------------------------
  inline XMLExcepts::Codes XMLException::getCode() const
  {
      return fCode;
  }
  
  inline const XMLCh* XMLException::getMessage() const
  {
      return fMsg;
  }
  
  inline const char* XMLException::getSrcFile() const
  {
      if (!fSrcFile)
          return "";
      return fSrcFile;
  }
  
  inline unsigned int XMLException::getSrcLine() const
  {
      return fSrcLine;
  }
  
  
  // ---------------------------------------------------------------------------
  //  This macro is used to create derived classes. They are all identical
  //  except the name of the exception, so it crazy to type them in over and
  //  over.
  // ---------------------------------------------------------------------------
  #define MakeXMLException(theType, expKeyword) \
  class expKeyword theType : public XMLException \
  { \
  public: \
   \
      theType(const   char* const         srcFile \
              , const unsigned int        srcLine \
              , const XMLExcepts::Codes toThrow) : \
          XMLException(srcFile, srcLine) \
      { \
          loadExceptText(toThrow); \
      } \
   \
      theType(const theType& toCopy) : \
   \
          XMLException(toCopy) \
      { \
      } \
    \
      theType(const   char* const         srcFile \
              , const unsigned int        srcLine \
              , const XMLExcepts::Codes toThrow \
              , const XMLCh* const        text1 \
              , const XMLCh* const        text2 = 0 \
              , const XMLCh* const        text3 = 0 \
              , const XMLCh* const        text4 = 0) : \
          XMLException(srcFile, srcLine) \
      { \
          loadExceptText(toThrow, text1, text2, text3, text4); \
      } \
   \
      theType(const   char* const         srcFile \
              , const unsigned int        srcLine \
              , const XMLExcepts::Codes toThrow \
              , const char* const         text1 \
              , const char* const         text2 = 0 \
              , const char* const         text3 = 0 \
              , const char* const         text4 = 0) : \
          XMLException(srcFile, srcLine) \
      { \
          loadExceptText(toThrow, text1, text2, text3, text4); \
      } \
   \
      virtual ~theType() {} \
   \
      theType& operator=(const theType& toAssign) \
      { \
          XMLException::operator=(toAssign); \
          return *this; \
      } \
   \
      virtual XMLException* duplicate() const \
      { \
          return new theType(*this); \
      } \
   \
      virtual const XMLCh* getType() const \
      { \
          return XMLUni::fg##theType##_Name; \
      } \
   \
  private : \
      theType(); \
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  This macros is used to actually throw an exception. It is used in order
  //  to make sure that source code line/col info is stored correctly, and to
  //  give flexibility for other stuff in the future.
  // ---------------------------------------------------------------------------
  #define ThrowXML(type,code) throw type(__FILE__, __LINE__, code)
  
  #define ThrowXML1(type,code,p1) throw type(__FILE__, __LINE__, code, p1)
  
  #define ThrowXML2(type,code,p1,p2) throw type(__FILE__, __LINE__, code, p1, p2)
  
  #define ThrowXML3(type,code,p1,p2,p3) throw type(__FILE__, __LINE__, code, p1, p2, p3)
  
  #define ThrowXML4(type,code,p1,p2,p3,p4) throw type(__FILE__, __LINE__, code, p1, p2, p3, p4)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLFloat.hpp
  
  Index: XMLFloat.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLFloat.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLFloat.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/10/25 21:54:50  peiyongz
   * Apply XMLRegisterCleanup
   *
   * Revision 1.4  2001/09/27 14:54:20  peiyongz
   * DTV Reorganization: derived from XMLNumber
   *
   * Revision 1.3  2001/08/29 19:03:03  peiyongz
   * Bugzilla# 2816:on AIX 4.2, xlC 3 r ev.1, Compilation error on inline method
   *
   * Revision 1.2  2001/07/31 13:48:29  peiyongz
   * fValue removed
   *
   * Revision 1.1  2001/07/26 20:41:37  peiyongz
   * XMLFloat
   *
   *
   */
  
  #ifndef XML_FLOAT_HPP
  #define XML_FLOAT_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLNumber.hpp>
  #include <util/XMLBigDecimal.hpp>
  
  /***
   * 3.2.4.1 Lexical representation
   *
   *   float values have a lexical representation consisting of a mantissa followed, 
   *   optionally, by the character "E" or "e", followed by an exponent. 
   *
   *   The exponent �must� be an integer. 
   *   The mantissa must be a decimal number. 
   *   The representations for exponent and mantissa must follow the lexical rules 
   *   for integer and decimal. 
   *
   *   If the "E" or "e" and the following exponent are omitted, 
   *   an exponent value of 0 is assumed. 
  ***/
  
  class XMLUTIL_EXPORT XMLFloat : public XMLNumber
  {
  public:
  
  	/**
  	 * Constructs a newly allocated <code>XMLFloat</code> object that
  	 * represents the value represented by the string.
  	 *
  	 * @param      the <code>String</code> to be converted to an
  	 *                 <code>XMLFloat</code>.
  	 * @exception  NumberFormatException  if the <code>String</code> does not
  	 *               contain a parsable XMLFloat.
  	 */
  
      enum LiteralType
      {
          NegINF,
          NegZero,
          PosZero,
          PosINF,
          NaN,
          SpecialTypeNum = 5,
          Normal
      };
  
      XMLFloat(const XMLCh* const strValue);
  
      ~XMLFloat();
  
      XMLFloat(const XMLFloat& toCopy);
     
      virtual XMLCh*       toString() const;    
  
      virtual int          getSign() const;
  
  	/**
  	 * Compares this object to the specified object.
  	 * The result is <code>true</code> if and only if the argument is not
  	 * <code>null</code> and is an <code>XMLFloat</code> object that contains
  	 * the same <code>int</code> value as this object.
  	 *
  	 * @param   obj   the object to compare with.
  	 * @return  <code>true</code> if the objects are the same;
  	 *          <code>false</code> otherwise.
  	 */
  	bool operator==(const XMLFloat& toCompare) const;
  
      static int            compareValues(const XMLFloat* const lValue
                                        , const XMLFloat* const rValue);
  
      // -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitXMLFloat();   
  
  private:
  
      void                  init(const XMLCh* const strValue);
  
      void                  checkBoundary(const XMLCh* const strValue);
  
      void                  cleanUp();
  
      bool                  isSpecialValue() const;
  
      static int            compareSpecial(const XMLFloat* const specialValue
                                         , const XMLFloat* const normalValue);
  
      static bool           isInitialized;
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fMantissa
      //     the XMLBigDecimal holding the value of mantissa.
      //
      //  fExponent
      //     the XMLBigInteger holding the value of exponent.
      //
      //  fType
      //     the type of the object.
      //
      // -----------------------------------------------------------------------
  
      XMLBigDecimal*          fMantissa;
  	XMLBigInteger*          fExponent;   
      LiteralType             fType;
  };
  
  inline bool XMLFloat::operator==(const XMLFloat& toCompare) const
  {
      return ( XMLFloat::compareValues(this, &toCompare) == 0 ? true : false);
  }
  
  inline bool XMLFloat::isSpecialValue() const
  {
      return (fType < SpecialTypeNum);
  }
  
  inline void XMLFloat::cleanUp()
  {
      if (fMantissa)
          delete fMantissa;
  
      if (fExponent)
          delete fExponent;
  }
  
  inline int XMLFloat::getSign() const
  {
      return fMantissa->getSign();
  }
  
  inline XMLFloat::~XMLFloat()
  {
      cleanUp();
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLIBM1140Transcoder.hpp
  
  Index: XMLIBM1140Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLIBM1140TRANSCODER_HPP
  #define XMLIBM1140TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XML256TableTranscoder.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple ibm-1140 transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XMLIBM1140Transcoder : public XML256TableTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public, static methods
      // -----------------------------------------------------------------------
      static XMLCh xlatThisOne(const XMLByte toXlat);
  
  
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLIBM1140Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLIBM1140Transcoder();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLIBM1140Transcoder();
      XMLIBM1140Transcoder(const XMLIBM1140Transcoder&);
      void operator=(const XMLIBM1140Transcoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLInteger.hpp
  
  Index: XMLInteger.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001 International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLInteger.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLInteger.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/08/16 21:53:52  peiyongz
   * new class creation
   *
   */
  
  #ifndef XML_INTEGER_HPP
  #define XML_INTEGER_HPP
  
  class XMLUTIL_EXPORT XMLInteger
  {
  public:
  
  	/**
  	 * Constructs a newly allocated <code>XMLInteger</code> object 
       *
  	 * @param      intVal   the <code>integer</code> 
  	 */
  
  	XMLInteger(const int intVal);
  
  	~XMLInteger();
  
  	/**
  	 * Returns the built in integer value.
  	 */
      int intValue() const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//  fData
      //     the value
      //
      // -----------------------------------------------------------------------
      int         fData;
  
  };
  
  inline XMLInteger::XMLInteger(const int intVal)
  :fData(intVal)
  {
  }
  
  inline XMLInteger::~XMLInteger()
  {
  }
  
  inline int XMLInteger::intValue() const
  {
      return fData;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLMsgLoader.hpp
  
  Index: XMLMsgLoader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLMsgLoader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/28 19:43:20  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.4  2000/03/02 19:54:49  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:47  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:20  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XMLMSGLOADER_HPP)
  #define XMLMSGLOADER_HPP
  
  #include <util/XercesDefs.hpp>
  
  //
  //  This header defines an abstract message loading API. This is the API via
  //  which the parser system loads translatable text, and there can be multiple
  //  actual implementations of this mechanism. The API is very simple because
  //  there can be many kinds of underlying systems on which implementations are
  //  based and we don't want to get into portability trouble by being overly
  //  smart.
  //
  //  Each instance of the message loader loads a file of messages, which are
  //  accessed by key and which are associated with a particular language. The
  //  actual source information may be in many forms, but by the time it is
  //  extracted for use it will be in Unicode format. The language is always
  //  the default language for the local machine.
  //
  //  Msg loader derivatives are not required to be thread safe. The parser will
  //  never use a single instance in more than one thread.
  //
  class XMLUTIL_EXPORT XMLMsgLoader
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  XMLMsgId
      //      A simple typedef to give us flexibility about the representation
      //      of a message id.
      // -----------------------------------------------------------------------
      typedef unsigned int    XMLMsgId;
  
  
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      virtual ~XMLMsgLoader();
  
  
      // -----------------------------------------------------------------------
      //  The virtual message loader API
      // -----------------------------------------------------------------------
      virtual bool loadMsg
      (
          const   XMLMsgId        msgToLoad
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
      ) = 0;
  
      virtual bool loadMsg
      (
          const   XMLMsgId        msgToLoad
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const XMLCh* const    repText1
          , const XMLCh* const    repText2 = 0
          , const XMLCh* const    repText3 = 0
          , const XMLCh* const    repText4 = 0
      ) = 0;
  
      virtual bool loadMsg
      (
          const   XMLMsgId        msgToLoad
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const char* const     repText1
          , const char* const     repText2 = 0
          , const char* const     repText3 = 0
          , const char* const     repText4 = 0
      ) = 0;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLCh* getLanguageName() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden Constructors
      // -----------------------------------------------------------------------
      XMLMsgLoader();
  
  
      // -----------------------------------------------------------------------
      //  Protected helper methods
      // -----------------------------------------------------------------------
      void setLanguageName(XMLCh* const nameToAdopt);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLMsgLoader(const XMLMsgLoader&);
      void operator=(const XMLMsgLoader&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fLanguage
      //      This is the language that is represented by this instance of the
      //      loader. The derived class must pass this through for storage and
      //      we adopt it and delete it when we go.
      // -----------------------------------------------------------------------
      XMLCh*  fLanguage;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLMsgLoader: Public Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline XMLMsgLoader::~XMLMsgLoader()
  {
      delete [] fLanguage;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLMsgLoader: Hidden Constructors
  // ---------------------------------------------------------------------------
  inline XMLMsgLoader::XMLMsgLoader() :
  
      fLanguage(0)
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLMsgLoader: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLMsgLoader::getLanguageName() const
  {
      return fLanguage;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLMsgLoader: Protected helper methods
  // ---------------------------------------------------------------------------
  inline void XMLMsgLoader::setLanguageName(XMLCh* const nameToAdopt)
  {
      delete [] fLanguage;
      fLanguage = nameToAdopt;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLNetAccessor.hpp
  
  Index: XMLNetAccessor.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLNetAccessor.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #if !defined(XMLNETACCESSOR_HPP)
  #define XMLNETACCESSOR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLURL.hpp>
  #include <util/XMLException.hpp>
  
  
  class BinInputStream;
  
  
  MakeXMLException(NetAccessorException, XMLUTIL_EXPORT)
  
  
  
  //
  //  This class is an abstract interface via which the URL class accesses
  //  net access services. When any source URL is not in effect a local file
  //  path, then the URL class is used to look at it. Then the URL class can
  //  be asked to make a binary input stream via which the referenced resource
  //  can be read in.
  //
  //  The URL class will use an object derived from this class to create a
  //  binary stream for the URL to return. The object it uses is provided by
  //  the platform utils, and is actually provided by the per-platform init
  //  code so each platform can decide what actual implementation it wants to
  //  use.
  //
  class XMLUTIL_EXPORT XMLNetAccessor
  {
  public :
      // -----------------------------------------------------------------------
      //  Virtual destructor
      // -----------------------------------------------------------------------
      virtual ~XMLNetAccessor()
      {
      }
  
  
      // -----------------------------------------------------------------------
      //  The virtual net accessor interface
      // -----------------------------------------------------------------------
      virtual const XMLCh* getId() const = 0;
  
      virtual BinInputStream* makeNew
      (
          const   XMLURL&                 urlSrc
      ) = 0;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      XMLNetAccessor()
      {
      }
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLNetAccessor(const XMLNetAccessor&);
      void operator=(const XMLNetAccessor&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLNumber.hpp
  
  Index: XMLNumber.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLNumber.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLNumber.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/10/09 21:28:28  peiyongz
   * explicit ctor/dtor defined.
   *
   * Revision 1.1  2001/09/27 14:54:03  peiyongz
   * DTV Reorganization: new class
   *
   */
  
  #ifndef XMLNUMBER_HPP
  #define XMLNUMBER_HPP
  
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT XMLNumber
  {
  public:
  
      virtual ~XMLNumber();
  
  	/**
  	 *  Return string representation of the decimal value.
       *  A decimal point will be included as necessary, 
       *  the caller of this method is responsible for the 
       *  de-allocation of the memory.
  	 */
      virtual XMLCh*     toString() const = 0;
          
  	/**
  	 * Returns the sign of this number
       *
       * -1   negative
       *  0   zero
       *  1   positive
  	 *
  	 */
      virtual int        getSign() const = 0;
  
  protected:
  
      XMLNumber();
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLRegisterCleanup.hpp
  
  Index: XMLRegisterCleanup.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLRegisterCleanup.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLRegisterCleanup.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/10/25 21:55:29  peiyongz
   * copy ctor explicity declared private to prevent supprise.
   *
   * Revision 1.3  2001/10/24 18:13:06  peiyongz
   * CVS tag added
   *
   *
   */
  
  #if !defined(XMLREGISTERCLEANUP_HPP)
  #define XMLREGISTERCLEANUP_HPP
  
  #include <util/Mutexes.hpp>
  
  // This is a mutex for exclusive use by this class
  extern XMLMutex* gXMLCleanupListMutex;
  
  // This is the head of a list of XMLRegisterCleanup objects that
  // is used during XMLPlatformUtils::Terminate() to find objects to
  // clean up
  class XMLRegisterCleanup;
  extern XMLRegisterCleanup* gXMLCleanupList;
  
  // 
  //  For internal use only.
  //
  //  This class is used by the platform utilities class to support 
  //  reinitialisation of global/static data which is lazily created. 
  //  Since that data is widely spread out the platform utilities
  //  class cannot know about them directly. So, the code that creates such
  //  objects creates an registers a cleanup for the object. The platform
  //  termination call will iterate the list and delete the objects.
  //
  //  N.B. These objects need to be statically allocated.  I couldn't think
  //  of a neat way of ensuring this - can anyone else?
  
  class XMLRegisterCleanup
  {
  public :
  	// The cleanup function to be called on XMLPlatformUtils::Terminate()
  	typedef void (*XMLCleanupFn)();
  	
  	void doCleanup() {
  		// When performing cleanup, we only do this once, but we can
  		// cope if somehow we have been called twice.
  		if (m_cleanupFn) 
              m_cleanupFn();
  
          // We need to remove "this" from the list
          // irregardless of the cleanup Function
          unregisterCleanup();
  	}
  
  	// This function is called during initialisation of static data to
  	// register a function to be called on XMLPlatformUtils::Terminate.
  	// It gives an object that uses static data an opportunity to reset
  	// such data.
  	void registerCleanup(XMLCleanupFn cleanupFn) {
  		// Store the cleanup function
  		m_cleanupFn = cleanupFn;
  		
  		// Add this object to the list head, if it is not already 
  		// present - which it shouldn't be.
  		// This is done under a mutex to ensure thread safety.
  		gXMLCleanupListMutex->lock();
  		if (!m_nextCleanup && !m_prevCleanup) {
  			m_nextCleanup = gXMLCleanupList;
  			gXMLCleanupList = this;
  
  			if (m_nextCleanup) 
  				m_nextCleanup->m_prevCleanup = this;
  		}
  		gXMLCleanupListMutex->unlock();
  	}
  
  	// This function can be called either from XMLPlatformUtils::Terminate
  	// to state that the cleanup has been performed and should not be
  	// performed again, or from code that you have written that determines
  	// that cleanup is no longer necessary.
  	void unregisterCleanup() {
  		gXMLCleanupListMutex->lock();
  
          //
          // To protect against some compiler's (eg hp11) optimization
          // to change "this" as they update gXMLCleanupList
          //
          // refer to 
          // void XMLPlatformUtils::Terminate()
          //       ... 
          //       while (gXMLCleanupList)
  		//            gXMLCleanupList->doCleanup();
          //
  
          XMLRegisterCleanup *tmpThis = (XMLRegisterCleanup*) this;
  
          // Unlink this object from the cleanup list
  		if (m_nextCleanup) m_nextCleanup->m_prevCleanup = m_prevCleanup;
  		
  		if (!m_prevCleanup) gXMLCleanupList = m_nextCleanup;
  		else m_prevCleanup->m_nextCleanup = m_nextCleanup;
  
  		gXMLCleanupListMutex->unlock();
  		
  		// Reset the object to the default state
  		tmpThis->resetCleanup();
  	}
  
  	// The default constructor sets a state that ensures that this object
  	// will do nothing
  	XMLRegisterCleanup()
  	{
  		resetCleanup();
  	}
  
  private:
  
      //
      // unsupported ctor and operator
      //
  	XMLRegisterCleanup(const XMLRegisterCleanup&)
  	{}
  
  	// This is the cleanup function to be called
  	XMLCleanupFn m_cleanupFn;
  
  	// These are list pointers to the next/prev cleanup function to be called
  	XMLRegisterCleanup *m_nextCleanup, *m_prevCleanup;
  
  	// This function reinitialises the object to the default state
  	void resetCleanup() {
  		m_nextCleanup = 0;
  		m_prevCleanup = 0;
  		m_cleanupFn = 0;
  	}
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLString.hpp
  
  Index: XMLString.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XMLString.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.26  2001/08/10 16:23:06  peiyongz
   * isHex(), isAlphaNum(), isAllWhiteSpace() and patternMatch() Added
   *
   * Revision 1.25  2001/07/06 20:27:57  peiyongz
   * isValidaQName()
   *
   * Revision 1.24  2001/07/04 14:38:20  peiyongz
   * IDDatatypeValidator: created
   * DatatypeValidatorFactory: IDDTV enabled
   * XMLString:isValidName(): to validate Name (XML [4][5])
   *
   * Revision 1.23  2001/06/13 14:07:55  peiyongz
   * isValidaEncName() to validate an encoding name (EncName)
   *
   * Revision 1.22  2001/05/23 15:44:51  tng
   * Schema: NormalizedString fix.  By Pei Yong Zhang.
   *
   * Revision 1.21  2001/05/11 13:26:31  tng
   * Copyright update.
   *
   * Revision 1.20  2001/05/09 18:43:30  tng
   * Add StringDatatypeValidator and BooleanDatatypeValidator.  By Pei Yong Zhang.
   *
   * Revision 1.19  2001/05/03 20:34:35  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.18  2001/05/03 19:17:35  knoaman
   * TraverseSchema Part II.
   *
   * Revision 1.17  2001/03/21 21:56:13  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.16  2001/03/02 20:52:46  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.15  2001/01/15 21:26:34  tng
   * Performance Patches by David Bertoni.
   *
   * Details: (see xerces-c-dev mailing Jan 14)
   * XMLRecognizer.cpp: the internal encoding string XMLUni::fgXMLChEncodingString
   * was going through this function numerous times.  As a result, the top hot-spot
   * for the parse was _wcsicmp().  The real problem is that the Microsofts wide string
   * functions are unbelievably slow.  For things like encodings, it might be
   * better to use a special comparison function that only considers a-z and
   * A-Z as characters with case.  This works since the character set for
   * encodings is limit to printable ASCII characters.
   *
   *  XMLScanner2.cpp: This also has some case-sensitive vs. insensitive compares.
   * They are also much faster.  The other tweak is to only make a copy of an attribute
   * string if it needs to be split.  And then, the strategy is to try to use a
   * stack-based buffer, rather than a dynamically-allocated one.
   *
   * SAX2XMLReaderImpl.cpp: Again, more case-sensitive vs. insensitive comparisons.
   *
   * KVStringPair.cpp & hpp: By storing the size of the allocation, the storage can
   * likely be re-used many times, cutting down on dynamic memory allocations.
   *
   * XMLString.hpp: a more efficient implementation of stringLen().
   *
   * DTDValidator.cpp: another case of using a stack-based buffer when possible
   *
   * These patches made a big difference in parse time in some of our test
   * files, especially the ones are very attribute-heavy.
   *
   * Revision 1.14  2000/10/13 22:47:57  andyh
   * Fix bug (failure to null-terminate result) in XMLString::trim().
   * Patch contributed by Nadav Aharoni
   *
   * Revision 1.13  2000/04/12 18:42:15  roddey
   * Improved docs in terms of what 'max chars' means in the method
   * parameters.
   *
   * Revision 1.12  2000/04/06 19:42:51  rahulj
   * Clarified how big the target buffer should be in the API
   * documentation.
   *
   * Revision 1.11  2000/03/23 01:02:38  roddey
   * Updates to the XMLURL class to correct a lot of parsing problems
   * and to add support for the port number. Updated the URL tests
   * to test some of this new stuff.
   *
   * Revision 1.10  2000/03/20 23:00:46  rahulj
   * Moved the inline definition of stringLen before the first
   * use. This satisfied the HP CC compiler.
   *
   * Revision 1.9  2000/03/02 19:54:49  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.7  2000/02/16 18:51:52  roddey
   * Fixed some facts in the docs and reformatted the docs to stay within
   * a reasonable line width.
   *
   * Revision 1.6  2000/02/16 17:07:07  abagchi
   * Added API docs
   *
   * Revision 1.5  2000/02/06 07:48:06  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.4  2000/01/12 00:16:23  roddey
   * Changes to deal with multiply nested, relative pathed, entities and to deal
   * with the new URL class changes.
   *
   * Revision 1.3  1999/12/18 00:18:10  roddey
   * More changes to support the new, completely orthagonal support for
   * intrinsic encodings.
   *
   * Revision 1.2  1999/12/15 19:41:28  roddey
   * Support for the new transcoder system, where even intrinsic encodings are
   * done via the same transcoder abstraction as external ones.
   *
   * Revision 1.1.1.1  1999/11/09 01:05:52  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:21  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(XMLSTRING_HPP)
  #define XMLSTRING_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/RefVectorOf.hpp>
  
  class XMLLCPTranscoder;
  
  /**
    * Class for representing native character strings and handling common string
    * operations
    *
    * This class is Unicode compliant. This class is designed primarily
    * for internal use, but due to popular demand, it is being made
    * publicly available. Users of this class must understand that this
    * is not an officially supported class. All public methods of this
    * class are <i>static functions</i>.
    *
    */
  class XMLUTIL_EXPORT XMLString
  {
  public:
      /* Static methods for native character mode string manipulation */
      /** @name Conversion functions */
      //@{
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   unsigned int    toFormat
          ,       char* const     toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   unsigned int    toFormat
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   unsigned long   toFormat
          ,       char* const     toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   unsigned long   toFormat
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   long            toFormat
          ,       char* const     toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   long            toFormat
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   int             toFormat
          ,       char* const     toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /** Converts binary data to a text string based a given radix
        *
        * @param toFormat The beginning of the input string to convert
        * @param toFill The buffer that will hold the output on return. The
        *        size of this buffer should at least be 'maxChars + 1'.
        * @param maxChars The maximum number of output characters that can be
        *         accepted. If the result will not fit, it is an error.
        * @param radix The radix of the input data, based on which the conversion
        * will be done
        */
      static void binToText
      (
          const   int             toFormat
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
          , const unsigned int    radix
      );
  
      /**
        * Converts a string of decimal chars to a binary value
        *
        * Note that leading and trailng whitespace is legal and will be ignored
        * but the remainder must be all decimal digits.
        *
        * @param toConvert The string of digits to convert
        * @param toFill    The unsigned int value to fill with the converted
        *                  value.
        */
      static bool textToBin
      (
          const   XMLCh* const    toConvert
          ,       unsigned int&   toFill
      );
  
      /**
        * Converts a string of decimal chars to a binary value
        *
        * Note that leading and trailng whitespace is legal and will be ignored,
        *
        * Only one and either of (+,-) after the leading whitespace, before
        * any other characters are allowed.
        *
        * but the remainder must be all decimal digits.
        *
        * @param toConvert The string of digits to convert
        */
      static int parseInt
      (
          const   XMLCh* const    toConvert
      );
  
      //@}
  
      /** @name String concatenation functions */
      //@{
      /** Concatenates two strings.
        *
        * <code>catString</code> appends <code>src</code> to <code>target</code> and
        * terminates the resulting string with a null character. The initial character
        * of <code>src</code> overwrites the terminating character of <code>target
        * </code>.
        *
        * No overflow checking is performed when strings are copied or appended.
        * The behavior of <code>catString</code> is undefined if source and
        * destination strings overlap.
        *
        * @param target Null-terminated destination string
        * @param src Null-terminated source string
        */
      static void catString
      (
                  char* const     target
          , const char* const     src
      );
  
      /** Concatenates two strings.
        *
        * <code>catString</code> appends <code>src</code> to <code>target</code> and
        * terminates the resulting string with a null character. The initial character of
        * <code>src</code> overwrites the terminating character of <code>target</code>.
        * No overflow checking is performed when strings are copied or appended.
        * The behavior of <code>catString</code> is undefined if source and destination
        * strings overlap.
        *
        *    @param target Null-terminated destination string
        * @param src Null-terminated source string
        */
      static void catString
      (
                  XMLCh* const    target
          , const XMLCh* const    src
      );
      //@}
  
      /** @name String comparison functions */
      //@{
      /** Lexicographically compares lowercase versions of <code>str1</code> and
        * <code>str2</code> and returns a value indicating their relationship.
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        *
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareIString
      (
          const   char* const     str1
          , const char* const     str2
      );
  
      /** Lexicographically compares lowercase versions of <code>str1</code> and
        * <code>str2</code> and returns a value indicating their relationship.
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareIString
      (
          const   XMLCh* const    str1
          , const XMLCh* const    str2
      );
  
  
      /** Lexicographically compares, at most, the first count characters in
        * <code>str1</code> and <code>str2</code> and returns a value indicating the
        * relationship between the substrings.
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @param count The number of characters to compare
        *
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareNString
      (
          const   char* const     str1
          , const char* const     str2
          , const unsigned int    count
      );
  
      /** Lexicographically compares, at most, the first count characters in
        * <code>str1</code> and <code>str2</code> and returns a value indicating
        * the relationship between the substrings.
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @param count The number of characters to compare
        *
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareNString
      (
          const   XMLCh* const    str1
          , const XMLCh* const    str2
          , const unsigned int    count
      );
  
  
      /** Lexicographically compares, at most, the first count characters in
        * <code>str1</code> and <code>str2</code> without regard to case and
        * returns a value indicating the relationship between the substrings.
        *
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @param count The number of characters to compare
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareNIString
      (
          const   char* const     str1
          , const char* const     str2
          , const unsigned int    count
      );
  
      /** Lexicographically compares, at most, the first count characters in
        * <code>str1</code> and <code>str2</code> without regard to case and
        * returns a value indicating the relationship between the substrings.
        *
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @param count The number of characters to compare
        *
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareNIString
      (
          const   XMLCh* const    str1
          , const XMLCh* const    str2
          , const unsigned int    count
      );
  
      /** Lexicographically compares <code>str1</code> and <code>str2</code> and
        * returns a value indicating their relationship.
        *
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        *
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareString
      (
          const   char* const     str1
          , const char* const     str2
      );
  
      /** Lexicographically compares <code>str1</code> and <code>str2</code> and
        * returns a value indicating their relationship.
        *
        * @param str1 Null-terminated string to compare
        * @param str2 Null-terminated string to compare
        * @return The return value indicates the relation of <code>str1</code> to
        * <code>str2</code> as follows
        *  Less than 0 means <code>str1</code> is less than <code>str2</code>
        *  Equal to 0 means <code>str1</code> is identical to <code>str2</code>
        *  Greater than 0 means <code>str1</code> is more than <code>str2</code>
        */
      static int compareString
      (
          const   XMLCh* const    str1
          , const XMLCh* const    str2
      );
  
  	/** Lexicographically compares <code>str1</code> and <code>str2</code>
  	  * regions and returns true if they are equal, otherwise false.
  	  *
        * A substring of <code>str1</code> is compared to a substring of
  	  * <code>str2</code>. The result is true if these substrings represent
  	  * identical character sequences. The substring of <code>str1</code>
        * to be compared begins at offset1 and has length charsCount. The
  	  * substring of <code>str2</code> to be compared begins at offset2 and
  	  * has length charsCount. The result is false if and only if at least
        * one of the following is true:
        *   offset1 is negative.
        *   offset2 is negative.
        *   offset1+charsCount is greater than the length of str1.
        *   offset2+charsCount is greater than the length of str2.
        *   There is some nonnegative integer k less than charsCount such that:
        *   str1.charAt(offset1+k) != str2.charAt(offset2+k)
        *
        * @param str1 Null-terminated string to compare
  	  * @param offset1 Starting offset of str1
        * @param str2 Null-terminated string to compare
  	  * @param offset2 Starting offset of str2
  	  * @param charsCount The number of characters to compare
        * @return true if the specified subregion of <code>str1</code> exactly
  	  *  matches the specified subregion of <code>str2></code>; false
  	  *  otherwise.
        */
      static bool regionMatches
      (
          const   XMLCh* const    str1
  		, const	int				offset1
          , const XMLCh* const    str2
  		, const int				offset2
  		, const unsigned int	charCount
      );
  
  	/** Lexicographically compares <code>str1</code> and <code>str2</code>
  	  * regions without regard to case and returns true if they are equal,
  	  * otherwise false.
  	  *
        * A substring of <code>str1</code> is compared to a substring of
  	  * <code>str2</code>. The result is true if these substrings represent
  	  * identical character sequences. The substring of <code>str1</code>
        * to be compared begins at offset1 and has length charsCount. The
  	  * substring of <code>str2</code> to be compared begins at offset2 and
  	  * has length charsCount. The result is false if and only if at least
        * one of the following is true:
        *   offset1 is negative.
        *   offset2 is negative.
        *   offset1+charsCount is greater than the length of str1.
        *   offset2+charsCount is greater than the length of str2.
        *   There is some nonnegative integer k less than charsCount such that:
        *   str1.charAt(offset1+k) != str2.charAt(offset2+k)
        *
        * @param str1 Null-terminated string to compare
  	  * @param offset1 Starting offset of str1
        * @param str2 Null-terminated string to compare
  	  * @param offset2 Starting offset of str2
  	  * @param charsCount The number of characters to compare
        * @return true if the specified subregion of <code>str1</code> exactly
  	  *  matches the specified subregion of <code>str2></code>; false
  	  *  otherwise.
        */
      static bool regionIMatches
      (
          const   XMLCh* const    str1
  		, const	int				offset1
          , const XMLCh* const    str2
  		, const int				offset2
  		, const unsigned int	charCount
      );
      //@}
  
      /** @name String copy functions */
      //@{
      /** Copies <code>src</code>, including the terminating null character, to the
        * location specified by <code>target</code>.
        *
        * No overflow checking is performed when strings are copied or appended.
        * The behavior of strcpy is undefined if the source and destination strings
        * overlap.
        *
        * @param target Destination string
        * @param src Null-terminated source string
        */
      static void copyString
      (
                  char* const     target
          , const char* const     src
      );
  
      /** Copies <code>src</code>, including the terminating null character, to
        *   the location specified by <code>target</code>.
        *
        * No overflow checking is performed when strings are copied or appended.
        * The behavior of <code>copyString</code> is undefined if the source and
        * destination strings overlap.
        *
        * @param target Destination string
        * @param src Null-terminated source string
        */
      static void copyString
      (
                  XMLCh* const    target
          , const XMLCh* const    src
      );
  
      /** Copies <code>src</code>, upto a fixed number of characters, to the
        * location specified by <code>target</code>.
        *
        * No overflow checking is performed when strings are copied or appended.
        * The behavior of <code>copyNString</code> is undefined if the source and
        * destination strings overlap.
        *
        * @param target Destination string. The size of the buffer should
        *        atleast be 'maxChars + 1'.
        * @param src Null-terminated source string
        * @param maxChars The maximum number of characters to copy
        */
      static bool copyNString
      (
                  XMLCh* const    target
          , const XMLCh* const    src
          , const unsigned int    maxChars
      );
      //@}
  
      /** @name Hash functions */
      //@{
      /** Hashes a string given a modulus
        *
        * @param toHash The string to hash
        * @param hashModulus The divisor to be used for hashing
        * @return Returns the hash value
        */
      static unsigned int hash
      (
          const   char* const     tohash
          , const unsigned int    hashModulus
      );
  
      /** Hashes a string given a modulus
        *
        * @param toHash The string to hash
        * @param hashModulus The divisor to be used for hashing
        * @return Returns the hash value
        */
      static unsigned int hash
      (
          const   XMLCh* const    toHash
          , const unsigned int    hashModulus
      );
  
      /** Hashes a string given a modulus taking a maximum number of characters
        * as the limit
        *
        * @param toHash The string to hash
        * @param numChars The maximum number of characters to consider for hashing
        * @param hashModulus The divisor to be used for hashing
        *
        * @return Returns the hash value
        */
      static unsigned int hashN
      (
          const   XMLCh* const    toHash
          , const unsigned int    numChars
          , const unsigned int    hashModulus
      );
  
      //@}
  
      /** @name Search functions */
      //@{
      /**
        * Provides the index of the first occurance of a character within a string
        *
        * @param toSearch The string to search
        * @param ch The character to search within the string
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int indexOf(const char* const toSearch, const char ch);
  
      /**
        * Provides the index of the first occurance of a character within a string
        *
        * @param toSearch The string to search
        * @param ch The character to search within the string
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int indexOf(const XMLCh* const toSearch, const XMLCh ch);
  
  	    /**
        * Provides the index of the first occurance of a character within a string
        * starting from a given index
        *
        * @param toSearch The string to search
        * @param chToFInd The character to search within the string
        * @param fromIndex The index to start earch from
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int indexOf
      (
          const   char* const     toSearch
          , const char            chToFind
          , const unsigned int    fromIndex
      );
  
      /**
        * Provides the index of the first occurance of a character within a string
        * starting from a given index
        *
        * @param toSearch The string to search
        * @param chToFInd The character to search within the string
        * @param fromIndex The index to start search from
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int indexOf
      (
          const   XMLCh* const    toSearch
          , const XMLCh           chToFind
          , const unsigned int    fromIndex
      );
  
      /**
        * Provides the index of the last occurance of a character within a string
        *
        * @param toSearch The string to search
        * @param ch The character to search within the string
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int lastIndexOf(const char* const toSearch, const char ch);
  
      /**
        * Provides the index of the last occurance of a character within a string
        *
        * @param toSearch The string to search
        * @param ch The character to search within the string
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int lastIndexOf(const XMLCh* const toSearch, const XMLCh ch);
  
      /**
        * Provides the index of the last occurance of a character within a string
        * starting backward from a given index
        *
        * @param toSearch The string to search
        * @param chToFInd The character to search within the string
        * @param fromIndex The index to start backward search from
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int lastIndexOf
      (
          const   char* const     toSearch
          , const char            chToFind
          , const unsigned int    fromIndex
      );
  
      /**
        * Provides the index of the last occurance of a character within a string
        * starting backward from a given index
        *
        * @param toSearch The string to search
        * @param chToFInd The character to search within the string
        * @param fromIndex The index to start backward search from
        * @return If found, returns the index of the character within the string,
        * else returns -1.
        */
      static int lastIndexOf
      (
          const   XMLCh* const    toSearch
          , const XMLCh           ch
          , const unsigned int    fromIndex
      );
      //@}
  
      /** @name Fixed size string movement */
      //@{
      /** Moves X number of chars
        * @param targetStr The string to copy the chars to
        * @param srcStr The string to copy the chars from
        * @param count The number of chars to move
        */
      static void moveChars
      (
                  XMLCh* const    targetStr
          , const XMLCh* const    srcStr
          , const unsigned int    count
      );
  
      //@}
  
  	    /** @name Substring function */
      //@{
      /** Create a substring of a givend string. The substring begins at the
        * specified beginIndex and extends to the character at index
        * endIndex - 1.
        * @param targetStr The string to copy the chars to
        * @param srcStr The string to copy the chars from
        * @param startIndex beginning index, inclusive.
        * @param endIndex the ending index, exclusive.
        */
      static void subString
      (
                  char* const    targetStr
          , const char* const    srcStr
          , const int            startIndex
          , const int            endIndex
      );
  
      /** Create a substring of a givend string. The substring begins at the
        * specified beginIndex and extends to the character at index
        * endIndex - 1.
        * @param targetStr The string to copy the chars to
        * @param srcStr The string to copy the chars from
        * @param startIndex beginning index, inclusive.
        * @param endIndex the ending index, exclusive.
        */
      static void subString
      (
                  XMLCh* const    targetStr
          , const XMLCh* const    srcStr
          , const int             startIndex
          , const int             endIndex
      );
  
      //@}
  
      /** @name Replication function */
      //@{
      /** Replicates a string
        * @param toRep The string to replicate
        * @return Returns a pointer to the replicated string
        */
      static char* replicate(const char* const toRep);
  
      /** Replicates a string
        * @param toRep The string to replicate
        * @return Returns a pointer to the replicated string
        */
      static XMLCh* replicate(const XMLCh* const toRep);
  
      //@}
  
      /** @name String query function */
      //@{
      /** Tells if the sub-string appears within a string at the beginning
        * @param toTest The string to test
        * @param prefix The sub-string that needs to be checked
        * @return Returns true if the sub-string was found at the beginning of
        * <code>toTest</code>, else false
        */
      static bool startsWith
      (
          const   char* const     toTest
          , const char* const     prefix
      );
  
      /** Tells if the sub-string appears within a string at the beginning
        * @param toTest The string to test
        * @param prefix The sub-string that needs to be checked
        * @return Returns true if the sub-string was found at the beginning of
        * <code>toTest</code>, else false
        */
      static bool startsWith
      (
          const   XMLCh* const    toTest
          , const XMLCh* const    prefix
      );
  
      /** Tells if the sub-string appears within a string at the beginning
        * without regard to case
        *
        * @param toTest The string to test
        * @param prefix The sub-string that needs to be checked
        * @return Returns true if the sub-string was found at the beginning of
        * <code>toTest</code>, else false
        */
      static bool startsWithI
      (
          const   char* const     toTest
          , const char* const     prefix
      );
  
      /** Tells if the sub-string appears within a string at the beginning
        * without regard to case
        *
        * @param toTest The string to test
        * @param prefix The sub-string that needs to be checked
        *
        * @return Returns true if the sub-string was found at the beginning
        * of <code>toTest</code>, else false
        */
      static bool startsWithI
      (
          const   XMLCh* const    toTest
          , const XMLCh* const    prefix
      );
  
      /** Tells if the sub-string appears within a string at the end.
        * @param toTest The string to test
        * @param suffix The sub-string that needs to be checked
        * @return Returns true if the sub-string was found at the end of
        * <code>toTest</code>, else false
        */
      static bool endsWith
      (
          const   XMLCh* const    toTest
          , const XMLCh* const    prefix
      );
  
  
      /** Tells if a string has any occurance of another string within itself
        * @param toSearch The string to be searched
        * @param searchList The sub-string to be searched within the string
        * @return Returns the pointer to the location where the sub-string was
        * found, else returns 0
        */
      static const XMLCh* findAny
      (
          const   XMLCh* const    toSearch
          , const XMLCh* const    searchList
      );
  
      /** Tells if a string has any occurance of another string within itself
        * @param toSearch The string to be searched
        * @param searchList The sub-string to be searched within the string
        * @return Returns the pointer to the location where the sub-string was
        * found, else returns 0
        */
      static XMLCh* findAny
      (
                  XMLCh* const    toSearch
          , const XMLCh* const    searchList
      );
  
      /** Tells if a string has pattern within itself
        * @param toSearch The string to be searched
        * @param pattern The pattern to be searched within the string
        * @return Returns index to the location where the pattern was
        * found, else returns -1
        */
      static int patternMatch
      (
                  XMLCh* const    toSearch
          , const XMLCh* const    pattern
      );
  
      /** Get the length of the string
        * @param src The string whose length is to be determined
        * @return Returns the length of the string
        */
      static unsigned int stringLen(const char* const src);
  
      /** Get the length of the string
        * @param src The string whose length is to be determined
        * @return Returns the length of the string
        */
      static unsigned int stringLen(const XMLCh* const src);
  
      /**
        * Checks whether an name is a valid NCName.
        * @param name The string to check its NCName validity
        * @return Returns true if name is NCName valid, otherwise false
        */
      static bool isValidNCName(const XMLCh* const name);
  
      /**
        * Checks whether an name is a valid Name.
        * @param name The string to check its Name validity
        * @return Returns true if name is Name valid, otherwise false
        */
      static bool isValidName(const XMLCh* const name);
  
      /**
        * Checks whether an name is a valid EncName.
        * @param name The string to check its EncName validity
        * @return Returns true if name is EncName valid, otherwise false
        */
      static bool isValidEncName(const XMLCh* const name);  
  
      /**
        * Checks whether an name is a valid QName.
        * @param name The string to check its QName validity
        * @return Returns true if name is QName valid, otherwise false
        */
      static bool isValidQName(const XMLCh* const name);  
  
      /**
        * Checks whether a character is within [a-zA-Z].
        * @param theChar: the character to check 
        * @return Returns true if within the range, otherwise false
        */
  
      static bool isAlpha(XMLCh const theChar);
  
      /**
        * Checks whether a character is within [0-9].
        * @param theChar: the character to check 
        * @return Returns true if within the range, otherwise false
        */
      static bool isDigit(XMLCh const theChar);
  
      /**
        * Checks whether a character is within [0-9a-zA-Z].
        * @param theChar: the character to check 
        * @return Returns true if within the range, otherwise false
        */
      static bool isAlphaNum(XMLCh const theChar);
  
      /**
        * Checks whether a character is within [0-9a-fA-F].
        * @param theChar: the character to check 
        * @return Returns true if within the range, otherwise false
        */
      static bool isHex(XMLCh const theChar);
  
      /**
        * Checks whether a string contains only whitespace.
        * @param toCheck: the string to check 
        * @return Returns true if it is, otherwise false
        */
      static bool isAllWhiteSpace(const XMLCh* const toCheck);
  
      //@}
  
      /** @name Conversion functions */
      //@{
  
      /** Cut leading chars from a string
        *
        * @param toCut The string to cut chars from
        * @param count The count of leading chars to cut
        */
      static void cut
      (
                  XMLCh* const    toCutFrom
          , const unsigned int    count
      );
  
      /** Transcodes a string to native code-page
        *
        * NOTE: The returned buffer is dynamically allocated and is the
        * responsibility of the caller to delete it when not longer needed.
        *
        * @param toTranscode The string to be transcoded
        * @return Returns the transcoded string
        */
      static char* transcode
      (
          const   XMLCh* const    toTranscode
      );
  
      /** Transcodes a string to native code-page
        *
        * Be aware that when transcoding to an external encoding, that each
        * Unicode char can create multiple output bytes. So you cannot assume
        * a one to one correspondence of input chars to output bytes.
        *
        * @param toTranscode The string tobe transcoded
        * @param toFill The buffer that is filled with the transcoded value.
        *        The size of this buffer should atleast be 'maxChars + 1'.
        * @param maxChars The maximum number of bytes that the output
        *         buffer can hold (not including the null, which is why
        *         toFill should be at least maxChars+1.) If the resulting
        *         output cannot fit into this many bytes, it is an error and
        *         false is returned.
        * @return Returns true if successful, false if there was an error
        */
      static bool transcode
      (
          const   XMLCh* const    toTranscode
          ,       char* const     toFill
          , const unsigned int    maxChars
      );
  
      /** Transcodes a string to native code-page
        *
        * NOTE: The returned buffer is dynamically allocated and is the
        * responsibility of the caller to delete it when not longer needed.
        *
        * @param toTranscode The string to be transcoded
        * @return Returns the transcoded string
        */
      static XMLCh* transcode
      (
          const   char* const     toTranscode
      );
  
      /** Transcodes a string to native code-page
        * @param toTranscode The string tobe transcoded
        * @param toFill The buffer that is filled with the transcoded value.
        *        The size of this buffer should atleast be 'maxChars + 1'.
        * @param maxChars The maximum number of characters that the output
        *         buffer can hold (not including the null, which is why
        *         toFill should be at least maxChars+1.) If the resulting
        *         output cannot fit into this many characters, it is an error
        *         and false is returned.
        * @return Returns true if successful, false if there was an error
        */
      static bool transcode
      (
          const   char* const     toTranscode
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
      );
  
      /** Trims off extra space characters from the start and end of the string,
        * moving the non-space string content back to the start.
        * @param toTrim The string to be trimmed. On return this contains the
        * trimmed string
        */
      static void trim(char* const toTrim);
  
      /** Trims off extra space characters from the start and end of the string,
        * moving the non-space string content back to the start.
        * @param toTrim The string to be trimmed. On return this contains
        * the trimmed string
        */
      static void trim(XMLCh* const toTrim);
  
      /** Break a string into tokens with space as delimiter, and
        * stored in a string vector.  The caller owns the string vector
        * that is returned, and is responsible for deleting it.
        * @param tokenizeStr String to be tokenized
        * @return a vector of all the tokenized string
        */
      static RefVectorOf<XMLCh>* tokenizeString(const XMLCh* const tokenizeSrc);
  
      /** Find is the string appears in the enum list
        * @param toFind the string to be found
        * @param enumList the list
        * return true if found
        */
      static bool isInList(const XMLCh* const toFind, const XMLCh* const enumList);
  
      //@}
  
      /** @name Formatting functions */
      //@{
      /** Creates a UName from a URI and base name. It is in the form
        * {url}name, and is commonly used internally to represent fully
        * qualified names when namespaces are enabled.
        *
        * @param pszURI The URI part of the name
        * @param pszName The base part of the name
        * @return Returns the complete formatted UName
        */
      static XMLCh* makeUName
      (
          const   XMLCh* const    pszURI
          , const XMLCh* const    pszName
      );
  
      /**
        * Internal function to perform token replacement for strings.
        *
        * @param errText The text (NULL terminated) where the replacement
        *        is to be done. The size of this buffer should be
        *        'maxChars + 1' to account for the final NULL.
        * @param maxChars The size of the output buffer, i.e. the maximum
        *         number of characters that it will hold. If the result is
        *         larger, it will be truncated.
        * @param text1 Replacement text-one
        * @param text2 Replacement text-two
        * @param text3 Replacement text-three
        * @param text4 Replacement text-four
        * @return Returns the count of characters that are outputted
        */
      static unsigned int replaceTokens
      (
                  XMLCh* const    errText
          , const unsigned int    maxChars
          , const XMLCh* const    text1
          , const XMLCh* const    text2
          , const XMLCh* const    text3
          , const XMLCh* const    text4
      );
  
      /** Converts a string to uppercase
        * @param toUpperCase The string which needs to be converted to uppercase.
        *        On return, this buffer also holds the converted uppercase string
        */
      static void upperCase(XMLCh* const toUpperCase);
  
  	/** Converts a string to lowercase
        * @param toLowerCase The string which needs to be converted to lowercase.
        *        On return, this buffer also holds the converted lowercase string
        */
      static void lowerCase(XMLCh* const toLowerCase);
  
  	/** Check if string is WhiteSpace:replace
        * @param toCheck The string which needs to be checked.
        */
      static bool isWSReplaced(const XMLCh* const toCheck);
  
  	/** Check if string is WhiteSpace:collapse
        * @param toCheck The string which needs to be checked.
        */
      static bool isWSCollapsed(const XMLCh* const toCheck);
  
  	/** Replace whitespace
        * @param toCheck The string which needs to be whitespace replaced.
        *        On return , this buffer also holds the converted string
        */
      static void replaceWS(XMLCh* const toConvert);
  
  	/** Collapse whitespace
        * @param toConvert The string which needs to be whitespace collapsed.
        *        On return , this buffer also holds the converted string
        */       
      static void collapseWS(XMLCh* const toConvert);
      //@}
  
  
  private :
  
      /** @name Constructors and Destructor */
      //@{
      /** Unimplemented default constructor */
      XMLString();
      /** Unimplemented destructor */
      ~XMLString();
      //@}
  
  
      /** @name Initialization */
      //@{
      /** Init/Term methods called from XMLPlatformUtils class */
      static void initString(XMLLCPTranscoder* const defToUse);
      static void termString();
      //@}
  
  	/**
  	  * Called by regionMatches/regionIMatches to validate that we
  	  * have a valid input
  	  */
  	static bool validateRegion(const XMLCh* const str1, const int offset1,
  						const XMLCh* const str2, const int offset2,
  						const unsigned int charsCount);
  
      friend class XMLPlatformUtils;
  };
  
  
  // ---------------------------------------------------------------------------
  //  Inline some methods that are either just passthroughs to other string
  //  methods, or which are key for performance.
  // ---------------------------------------------------------------------------
  inline void XMLString::moveChars(       XMLCh* const    targetStr
                                  , const XMLCh* const    srcStr
                                  , const unsigned int    count)
  {
      XMLCh* outPtr = targetStr;
      const XMLCh* inPtr = srcStr;
      for (unsigned int index = 0; index < count; index++)
          *outPtr++ = *inPtr++;
  }
  
  inline unsigned int XMLString::stringLen(const XMLCh* const src)
  {
      if (src == 0 || *src == 0)
      {
          return 0;
     }
      else
     {
          const XMLCh* pszTmp = src + 1;
  
          while (*pszTmp)
              ++pszTmp;
  
          return (unsigned int)(pszTmp - src);
      }
  }
  
  inline bool XMLString::startsWith(  const   XMLCh* const    toTest
                                      , const XMLCh* const    prefix)
  {
      return (compareNString(toTest, prefix, stringLen(prefix)) == 0);
  }
  
  inline bool XMLString::startsWithI( const   XMLCh* const    toTest
                                      , const XMLCh* const    prefix)
  {
      return (compareNIString(toTest, prefix, stringLen(prefix)) == 0);
  }
  
  inline bool XMLString::endsWith(const XMLCh* const toTest,
                                  const XMLCh* const suffix)
  {
  
      unsigned int suffixLen = XMLString::stringLen(suffix);
  
      return regionMatches(toTest, XMLString::stringLen(toTest) - suffixLen,
                           suffix, 0, suffixLen);
  }
  
  inline XMLCh* XMLString::replicate(const XMLCh* const toRep)
  {
      // If a null string, return a null string!
      XMLCh* ret = 0;
      if (toRep)
      {
          const unsigned int len = stringLen(toRep);
          ret = new XMLCh[len + 1];
          XMLCh* outPtr = ret;
          const XMLCh* inPtr = toRep;
          for (unsigned int index = 0; index <= len; index++)
              *outPtr++ = *inPtr++;
      }
      return ret;
  }
  
  inline bool XMLString::validateRegion(const XMLCh* const str1,
  									  const int offset1,
  									  const XMLCh* const str2,
  									  const int offset2,
  									  const unsigned int charsCount)
  {
  
  	if (offset1 < 0 || offset2 < 0 ||
  		(offset1 + charsCount) > XMLString::stringLen(str1) ||
  		(offset2 + charsCount) > XMLString::stringLen(str2) )
  		return false;
  
  	return true;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLStringTokenizer.hpp
  
  Index: XMLStringTokenizer.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLStringTokenizer.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #if !defined(XMLSTRINGTOKENIZER_HPP)
  #define XMLSTRINGTOKENIZER_HPP
  
  #include <util/RefVectorOf.hpp>
  #include <util/XMLString.hpp>
  
  /**
    * The string tokenizer class breaks a string into tokens.
    *
    * The XMLStringTokenizer methods do not distinguish among identifiers,
    * numbers, and quoted strings, nor do they recognize and skip comments
    *
    * A XMLStringTokenizer object internally maintains a current position within
    * the string to be tokenized. Some operations advance this current position
    * past the characters processed.
    */
  
  
  class XMLUTIL_EXPORT XMLStringTokenizer
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors
      // -----------------------------------------------------------------------
      /** @name Constructors */
      //@{
  
      /**
        * Constructs a string tokenizer for the specified string. The tokenizer
        * uses the default delimiter set, which is "\t\n\r\f": the space
        * character, the tab character, the newline character, the
        * carriage-return character, and the form-feed character. Delimiter
        * characters themselves will not be treated as tokens.
        *
        * @param  srcStr  The string to be parsed.
        *
        */
  	XMLStringTokenizer(const XMLCh* const srcStr);
  
      /**
        * Constructs a string tokenizer for the specified string. The characters
        * in the delim argument are the delimiters for separating tokens.
        * Delimiter characters themselves will not be treated as tokens.
        *
        * @param  srcStr  The string to be parsed.
        * @param  delim   The set of delimiters.
        */
      XMLStringTokenizer(const XMLCh* const srcStr, const XMLCh* const delim);
  
      //@}
  
  	// -----------------------------------------------------------------------
      //  Public Destructor
      // -----------------------------------------------------------------------
  	/** @name Destructor. */
      //@{
  
      ~XMLStringTokenizer();
  
      //@}
  
      // -----------------------------------------------------------------------
      // Management methods
      // -----------------------------------------------------------------------
      /** @name Management Function */
      //@{
  
       /**
         * Tests if there are more tokens available from this tokenizer's string.
         *
         * Returns true if and only if there is at least one token in the string
         * after the current position; false otherwise.
         */
  	bool hasMoreTokens();
  
      /**
        * Calculates the number of times that this tokenizer's nextToken method
        * can be called to return a valid token. The current position is not
        * advanced.
        *
        * Returns the number of tokens remaining in the string using the current
        * delimiter set.
        */
      int countTokens();
  
      /**
        * Returns the next token from this string tokenizer.
        *
        * Function allocated, function managed (fafm). The calling function
        * does not need to worry about deleting the returned pointer.
  	  */
  	XMLCh* nextToken();
  
      //@}
  
  private:
      // -----------------------------------------------------------------------
      //  CleanUp methods
      // -----------------------------------------------------------------------
  	void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
      bool isDelimeter(const XMLCh ch);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fOffset
      //      The current position in the parsed string.
      //
      //  fStringLen
      //      The length of the string parsed (for convenience).
      //
      //  fString
      //      The string to be parsed
  	//
      //  fDelimeters
      //      A set of delimeter characters
      //
      //  fTokens
      //      A vector of the token strings
      // -----------------------------------------------------------------------
      int                 fOffset;
      int                 fStringLen;
  	XMLCh*              fString;
      XMLCh*              fDelimeters;
  	RefVectorOf<XMLCh>* fTokens;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLStringTokenizer: CleanUp methods
  // ---------------------------------------------------------------------------
  inline void XMLStringTokenizer::cleanUp() {
  
  	delete [] fString;
      delete [] fDelimeters;
      delete fTokens;
  }
  
  // ---------------------------------------------------------------------------
  //  XMLStringTokenizer: Helper methods
  // ---------------------------------------------------------------------------
  inline bool XMLStringTokenizer::isDelimeter(const XMLCh ch) {
  
      return XMLString::indexOf(fDelimeters, ch) == -1 ? false : true;
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLStringTokenizer: Management methods
  // ---------------------------------------------------------------------------
  inline int XMLStringTokenizer::countTokens() {
  
      if (fStringLen == 0)
  		return 0;
  
      int  tokCount = 0;
      bool inToken = false;
  
      for (int i= fOffset; i< fStringLen; i++) {
  
          if (isDelimeter(fString[i])) {
  
              if (inToken) {
                  inToken = false;
              }
  
              continue;
          }
  
  		if (!inToken) {
  
              tokCount++;
              inToken = true;
          }
  
      } // end for
  
      return tokCount;
  }
  
  #endif
  
  /**
    * End of file XMLStringTokenizer.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUCS4Transcoder.hpp
  
  Index: XMLUCS4Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLUCS4TRANSCODER_HPP
  #define XMLUCS4TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple UCS4 transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XMLUCS4Transcoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLUCS4Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
          , const bool            swapped
      );
  
      virtual ~XMLUCS4Transcoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLUCS4Transcoder(const XMLUCS4Transcoder&);
      void operator=(const XMLUCS4Transcoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSwapped
      //      This tells us if our input is going to be in the same endianess
      //      as the local host or swapped.
      // -----------------------------------------------------------------------
      bool    fSwapped;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLURL.hpp
  
  Index: XMLURL.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLURL.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  #if !defined(XMLURL_HPP)
  #define XMLURL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  class BinInputStream;
  
  MakeXMLException(MalformedURLException, XMLUTIL_EXPORT)
  
  
  //
  //  This class supports file, http, and ftp style URLs. All others are
  //  rejected
  //
  class XMLUTIL_EXPORT XMLURL
  {
  public:
      // -----------------------------------------------------------------------
      //  Class types
      //
      //  And they must remain in this order because they are indexes into an
      //  array internally!
      // -----------------------------------------------------------------------
      enum Protocols
      {
          File
          , HTTP
          , FTP
  
          , Protocols_Count
          , Unknown
      };
  
  
      // -----------------------------------------------------------------------
      //  Public static methods
      // -----------------------------------------------------------------------
      Protocols lookupByName(const XMLCh* const protoName);
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      XMLURL();
      XMLURL
      (
          const   XMLCh* const    baseURL
          , const XMLCh* const    relativeURL
      );
      XMLURL
      (
          const   XMLCh* const    baseURL
          , const char* const     relativeURL
      );
      XMLURL
      (
          const   XMLURL&         baseURL
          , const XMLCh* const    relativeURL
      );
      XMLURL
      (
          const   XMLURL&         baseURL
          , const char* const     relativeURL
      );
      XMLURL
      (
          const   XMLCh* const    urlText
      );
      XMLURL
      (
          const   char* const     urlText
      );
      XMLURL(const XMLURL& toCopy);
      virtual ~XMLURL();
  
  
      // -----------------------------------------------------------------------
      //  Operators
      // -----------------------------------------------------------------------
      XMLURL& operator=(const XMLURL& toAssign);
      bool operator==(const XMLURL& toCompare) const;
      bool operator!=(const XMLURL& toCompare) const;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const XMLCh* getFragment() const;
      const XMLCh* getHost() const;
      const XMLCh* getPassword() const;
      const XMLCh* getPath() const;
      unsigned int getPortNum() const;
      Protocols getProtocol() const;
      const XMLCh* getProtocolName() const;
      const XMLCh* getQuery() const;
      const XMLCh* getURLText() const;
      const XMLCh* getUser() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setURL(const XMLCh* const urlText);
      void setURL
      (
          const   XMLCh* const    baseURL
          , const XMLCh* const    relativeURL
      );
      void setURL
      (
          const   XMLURL&         baseURL
          , const XMLCh* const    relativeURL
      );
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
      bool isRelative() const;
      BinInputStream* makeNewStream() const;
      void makeRelativeTo(const XMLCh* const baseURLText);
      void makeRelativeTo(const XMLURL& baseURL);
  
  
  private:
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void buildFullText();
      void cleanup();
      bool conglomerateWithBase(const XMLURL& baseURL, bool useExceptions=true);
      void parse
      (
          const   XMLCh* const    urlText
      );
      void weavePaths(const XMLCh* const basePart);
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fFragment
      //      The fragment part of the URL, if any. If none, its a null.
      //
      //  fHost
      //      The host part of the URL that was parsed out. This one will often
      //      be null (or "localhost", which also means the current machine.)
      //
      //  fPassword
      //      The password found, if any. If none then its a null.
      //
      //  fPath
      //      The path part of the URL that was parsed out, if any. If none,
      //      then its a null.
      //
      //  fPortNum
      //      The port that was indicated in the URL. If no port was provided
      //      explicitly, then its left zero.
      //
      //  fProtocol
      //      Indicates the type of the URL's source. The text of the prefix
      //      can be gotten from this.
      //
      //  fQuery
      //      The query part of the URL, if any. If none, then its a null.
      //
      //  fUser
      //      The username found, if any. If none, then its a null.
      //
      //  fURLText
      //      This is a copy of the URL text, after it has been taken apart,
      //      made relative if needed, canonicalized, and then put back
      //      together. Its only created upon demand.
      // -----------------------------------------------------------------------
      XMLCh*          fFragment;
      XMLCh*          fHost;
      XMLCh*          fPassword;
      XMLCh*          fPath;
      unsigned int    fPortNum;
      Protocols       fProtocol;
      XMLCh*          fQuery;
      XMLCh*          fUser;
      XMLCh*          fURLText;
  };
  
  
  // ---------------------------------------------------------------------------
  //  XMLURL: Public operators
  // ---------------------------------------------------------------------------
  inline bool XMLURL::operator!=(const XMLURL& toCompare) const
  {
      return !operator==(toCompare);
  }
  
  
  // ---------------------------------------------------------------------------
  //  XMLURL: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLURL::getFragment() const
  {
      return fFragment;
  }
  
  inline const XMLCh* XMLURL::getHost() const
  {
      return fHost;
  }
  
  inline const XMLCh* XMLURL::getPassword() const
  {
      return fPassword;
  }
  
  inline const XMLCh* XMLURL::getPath() const
  {
      return fPath;
  }
  
  inline XMLURL::Protocols XMLURL::getProtocol() const
  {
      return fProtocol;
  }
  
  inline const XMLCh* XMLURL::getQuery() const
  {
      return fQuery;
  }
  
  inline const XMLCh* XMLURL::getUser() const
  {
      return fUser;
  }
  
  inline const XMLCh* XMLURL::getURLText() const
  {
      //
      //  Fault it in if not already. Since this is a const method and we
      //  can't use mutable members due the compilers we have to support,
      //  we have to cast off the constness.
      //
      if (!fURLText)
          ((XMLURL*)this)->buildFullText();
  
      return fURLText;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUTF16Transcoder.hpp
  
  Index: XMLUTF16Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLUTF16TRANSCODER_HPP
  #define XMLUTF16TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple UTF16 transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XMLUTF16Transcoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLUTF16Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
          , const bool            swapped
      );
  
      virtual ~XMLUTF16Transcoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLUTF16Transcoder(const XMLUTF16Transcoder&);
      void operator=(const XMLUTF16Transcoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fSwapped
      //      Indicates whether the encoding is of the opposite endianness from
      //      the local host.
      // -----------------------------------------------------------------------
      bool    fSwapped;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUTF8Transcoder.hpp
  
  Index: XMLUTF8Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLUTF8TRANSCODER_HPP
  #define XMLUTF8TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/TransService.hpp>
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for a simple UTF8 transcoder. The parser does some encodings
  //  intrinsically without depending upon external transcoding services.
  //  To make everything more orthagonal, we implement these internal
  //  transcoders using the same transcoder abstraction as the pluggable
  //  transcoding services do.
  //
  class XMLUTIL_EXPORT XMLUTF8Transcoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLUTF8Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLUTF8Transcoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLTranscoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLUTF8Transcoder(const XMLUTF8Transcoder&);
      void operator=(const XMLUTF8Transcoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUni.hpp
  
  Index: XMLUni.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLUni.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  
  
  // ---------------------------------------------------------------------------
  //  This file contains the grunt work constants for Unicode characters and
  //  common Unicode constant strings. These cannot be created normally because
  //  we have to compile on systems that cannot do the L"" style prefix. So
  //  they must be created as constant values for Unicode code points and the
  //  strings built up as arrays of those constants.
  // ---------------------------------------------------------------------------
  
  #if !defined(XMLUNI_HPP)
  #define XMLUNI_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  class XMLUTIL_EXPORT XMLUni
  {
  public :
      // -----------------------------------------------------------------------
      //  These are constant strings that are common in XML data. Because
      //  of the limitation of the compilers we have to work with, these are
      //  done as arrays of XMLCh characters, not as constant strings.
      // -----------------------------------------------------------------------
      static const XMLCh fgAnyString[];
      static const XMLCh fgAttListString[];
      static const XMLCh fgCommentString[];
      static const XMLCh fgCDATAString[];
      static const XMLCh fgDefaultString[];
      static const XMLCh fgDocTypeString[];
      static const XMLCh fgEBCDICEncodingString[];
      static const XMLCh fgElemString[];
      static const XMLCh fgEmptyString[];
      static const XMLCh fgEncodingString[];
      static const XMLCh fgEntitString[];
      static const XMLCh fgEntityString[];
      static const XMLCh fgEntitiesString[];
      static const XMLCh fgEnumerationString[];
      static const XMLCh fgExceptDomain[];
      static const XMLCh fgFixedString[];
      static const XMLCh fgIBM037EncodingString[];
      static const XMLCh fgIBM037EncodingString2[];
      static const XMLCh fgIBM1140EncodingString[];
      static const XMLCh fgIESString[];
      static const XMLCh fgIDString[];
      static const XMLCh fgIDRefString[];
      static const XMLCh fgIDRefsString[];
      static const XMLCh fgImpliedString[];
      static const XMLCh fgIgnoreString[];
      static const XMLCh fgIncludeString[];
      static const XMLCh fgISO88591EncodingString[];
      static const XMLCh fgISO88591EncodingString2[];
      static const XMLCh fgISO88591EncodingString3[];
      static const XMLCh fgISO88591EncodingString4[];
      static const XMLCh fgISO88591EncodingString5[];
      static const XMLCh fgISO88591EncodingString6[];
      static const XMLCh fgISO88591EncodingString7[];
      static const XMLCh fgISO88591EncodingString8[];
      static const XMLCh fgLocalHostString[];
      static const XMLCh fgNoString[];
      static const XMLCh fgNotationString[];
      static const XMLCh fgNDATAString[];
      static const XMLCh fgNmTokenString[];
      static const XMLCh fgNmTokensString[];
      static const XMLCh fgPCDATAString[];
      static const XMLCh fgPIString[];
      static const XMLCh fgPubIDString[];
      static const XMLCh fgRefString[];
      static const XMLCh fgRequiredString[];
      static const XMLCh fgStandaloneString[];
      static const XMLCh fgSupportedVersion[];
      static const XMLCh fgSysIDString[];
      static const XMLCh fgUnknownURIName[];
      static const XMLCh fgUCS4EncodingString[];
      static const XMLCh fgUCS4EncodingString2[];
      static const XMLCh fgUCS4EncodingString3[];
      static const XMLCh fgUCS4BEncodingString[];
      static const XMLCh fgUCS4BEncodingString2[];
      static const XMLCh fgUCS4LEncodingString[];
      static const XMLCh fgUCS4LEncodingString2[];
      static const XMLCh fgUSASCIIEncodingString[];
      static const XMLCh fgUSASCIIEncodingString2[];
      static const XMLCh fgUSASCIIEncodingString3[];
      static const XMLCh fgUSASCIIEncodingString4[];
      static const XMLCh fgUTF8EncodingString[];
      static const XMLCh fgUTF8EncodingString2[];
      static const XMLCh fgUTF16EncodingString[];
      static const XMLCh fgUTF16EncodingString2[];
      static const XMLCh fgUTF16EncodingString3[];
      static const XMLCh fgUTF16EncodingString4[];
      static const XMLCh fgUTF16BEncodingString[];
      static const XMLCh fgUTF16BEncodingString2[];
      static const XMLCh fgUTF16LEncodingString[];
      static const XMLCh fgUTF16LEncodingString2[];
      static const XMLCh fgVersionString[];
      static const XMLCh fgValidityDomain[];
      static const XMLCh fgWin1252EncodingString[];
      static const XMLCh fgXMLChEncodingString[];
      static const XMLCh fgXMLString[];
      static const XMLCh fgXMLStringSpace[];
      static const XMLCh fgXMLStringHTab[];
      static const XMLCh fgXMLStringCR[];
      static const XMLCh fgXMLStringLF[];
      static const XMLCh fgXMLStringSpaceU[];
      static const XMLCh fgXMLStringHTabU[];
      static const XMLCh fgXMLStringCRU[];
      static const XMLCh fgXMLStringLFU[];
      static const XMLCh fgXMLDeclString[];
      static const XMLCh fgXMLDeclStringSpace[];
      static const XMLCh fgXMLDeclStringHTab[];
      static const XMLCh fgXMLDeclStringLF[];
      static const XMLCh fgXMLDeclStringCR[];
      static const XMLCh fgXMLDeclStringSpaceU[];
      static const XMLCh fgXMLDeclStringHTabU[];
      static const XMLCh fgXMLDeclStringLFU[];
      static const XMLCh fgXMLDeclStringCRU[];
  
      static const XMLCh fgXMLNSString[];
      static const XMLCh fgXMLNSColonString[];
      static const XMLCh fgXMLNSURIName[];
      static const XMLCh fgXMLErrDomain[];
      static const XMLCh fgXMLURIName[];
      static const XMLCh fgYesString[];
      static const XMLCh fgZeroLenString[];
  
  
  
  	static const XMLCh fgArrayIndexOutOfBoundsException_Name[];
  	static const XMLCh fgEmptyStackException_Name[];
  	static const XMLCh fgIllegalArgumentException_Name[];
  	static const XMLCh fgInvalidCastException_Name[];
  	static const XMLCh fgIOException_Name[];
  	static const XMLCh fgNoSuchElementException_Name[];
  	static const XMLCh fgNullPointerException_Name[];
  	static const XMLCh fgXMLPlatformUtilsException_Name[];
  	static const XMLCh fgRuntimeException_Name[];
  	static const XMLCh fgTranscodingException_Name[];
  	static const XMLCh fgUnexpectedEOFException_Name[];
  	static const XMLCh fgUnsupportedEncodingException_Name[];
  	static const XMLCh fgUTFDataFormatException_Name[];
  	static const XMLCh fgNetAccessorException_Name[];
  	static const XMLCh fgMalformedURLException_Name[];
  	static const XMLCh fgNumberFormatException_Name[];
  	static const XMLCh fgParseException_Name[];
  	static const XMLCh fgInvalidDatatypeFacetException_Name[];
  	static const XMLCh fgInvalidDatatypeValueException_Name[];
  
      static const XMLCh fgNegINFString[];
      static const XMLCh fgNegZeroString[];
      static const XMLCh fgPosZeroString[];
      static const XMLCh fgPosINFString[];
      static const XMLCh fgNaNString[];
      static const XMLCh fgEString[];
      static const XMLCh fgZeroString[];
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUniDefs.hpp
  
  Index: XMLUniDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLUniDefs.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   */
  #if !defined(XMLUNIDEFS_HPP)
  #define XMLUNIDEFS_HPP
  
  #include <util/XercesDefs.hpp>
  
  // ---------------------------------------------------------------------------
  //  Constants for the Unicode characters of interest to us in an XML parser
  //  We don't put these inside the class because then they could not be const
  //  inline values, which would have significant performance ramifications.
  //
  //  We cannot use a namespace because of the requirement to support old
  //  compilers.
  // ---------------------------------------------------------------------------
  const XMLCh chNull                  = 0x00;
  const XMLCh chHTab                  = 0x09;
  const XMLCh chLF                    = 0x0A;
  const XMLCh chVTab                  = 0x0B;
  const XMLCh chFF                    = 0x0C;
  const XMLCh chCR                    = 0x0D;
  const XMLCh chAmpersand             = 0x26;
  const XMLCh chAsterisk              = 0x2A;
  const XMLCh chAt                    = 0x40;
  const XMLCh chBackSlash             = 0x5C;
  const XMLCh chBang                  = 0x21;
  const XMLCh chCaret                 = 0x5E;
  const XMLCh chCloseAngle            = 0x3E;
  const XMLCh chCloseCurly            = 0x7D;
  const XMLCh chCloseParen            = 0x29;
  const XMLCh chCloseSquare           = 0x5D;
  const XMLCh chColon                 = 0x3A;
  const XMLCh chComma                 = 0x2C;
  const XMLCh chDash                  = 0x2D;
  const XMLCh chDollarSign            = 0x24;
  const XMLCh chDoubleQuote           = 0x22;
  const XMLCh chEqual                 = 0x3D;
  const XMLCh chForwardSlash          = 0x2F;
  const XMLCh chGrave                 = 0x60;
  const XMLCh chNEL                   = 0x85;
  const XMLCh chOpenAngle             = 0x3C;
  const XMLCh chOpenCurly             = 0x7B;
  const XMLCh chOpenParen             = 0x28;
  const XMLCh chOpenSquare            = 0x5B;
  const XMLCh chPercent               = 0x25;
  const XMLCh chPeriod                = 0x2E;
  const XMLCh chPipe                  = 0x7C;
  const XMLCh chPlus                  = 0x2B;
  const XMLCh chPound                 = 0x23;
  const XMLCh chQuestion              = 0x3F;
  const XMLCh chSingleQuote           = 0x27;
  const XMLCh chSpace                 = 0x20;
  const XMLCh chSemiColon             = 0x3B;
  const XMLCh chTilde                 = 0x7E;
  const XMLCh chUnderscore            = 0x5F;
  
  const XMLCh chSwappedUnicodeMarker  = XMLCh(0xFFFE);
  const XMLCh chUnicodeMarker         = XMLCh(0xFEFF);
  
  const XMLCh chDigit_0               = 0x30;
  const XMLCh chDigit_1               = 0x31;
  const XMLCh chDigit_2               = 0x32;
  const XMLCh chDigit_3               = 0x33;
  const XMLCh chDigit_4               = 0x34;
  const XMLCh chDigit_5               = 0x35;
  const XMLCh chDigit_6               = 0x36;
  const XMLCh chDigit_7               = 0x37;
  const XMLCh chDigit_8               = 0x38;
  const XMLCh chDigit_9               = 0x39;
  
  const XMLCh chLatin_A               = 0x41;
  const XMLCh chLatin_B               = 0x42;
  const XMLCh chLatin_C               = 0x43;
  const XMLCh chLatin_D               = 0x44;
  const XMLCh chLatin_E               = 0x45;
  const XMLCh chLatin_F               = 0x46;
  const XMLCh chLatin_G               = 0x47;
  const XMLCh chLatin_H               = 0x48;
  const XMLCh chLatin_I               = 0x49;
  const XMLCh chLatin_J               = 0x4A;
  const XMLCh chLatin_K               = 0x4B;
  const XMLCh chLatin_L               = 0x4C;
  const XMLCh chLatin_M               = 0x4D;
  const XMLCh chLatin_N               = 0x4E;
  const XMLCh chLatin_O               = 0x4F;
  const XMLCh chLatin_P               = 0x50;
  const XMLCh chLatin_Q               = 0x51;
  const XMLCh chLatin_R               = 0x52;
  const XMLCh chLatin_S               = 0x53;
  const XMLCh chLatin_T               = 0x54;
  const XMLCh chLatin_U               = 0x55;
  const XMLCh chLatin_V               = 0x56;
  const XMLCh chLatin_W               = 0x57;
  const XMLCh chLatin_X               = 0x58;
  const XMLCh chLatin_Y               = 0x59;
  const XMLCh chLatin_Z               = 0x5A;
  
  const XMLCh chLatin_a               = 0x61;
  const XMLCh chLatin_b               = 0x62;
  const XMLCh chLatin_c               = 0x63;
  const XMLCh chLatin_d               = 0x64;
  const XMLCh chLatin_e               = 0x65;
  const XMLCh chLatin_f               = 0x66;
  const XMLCh chLatin_g               = 0x67;
  const XMLCh chLatin_h               = 0x68;
  const XMLCh chLatin_i               = 0x69;
  const XMLCh chLatin_j               = 0x6A;
  const XMLCh chLatin_k               = 0x6B;
  const XMLCh chLatin_l               = 0x6C;
  const XMLCh chLatin_m               = 0x6D;
  const XMLCh chLatin_n               = 0x6E;
  const XMLCh chLatin_o               = 0x6F;
  const XMLCh chLatin_p               = 0x70;
  const XMLCh chLatin_q               = 0x71;
  const XMLCh chLatin_r               = 0x72;
  const XMLCh chLatin_s               = 0x73;
  const XMLCh chLatin_t               = 0x74;
  const XMLCh chLatin_u               = 0x75;
  const XMLCh chLatin_v               = 0x76;
  const XMLCh chLatin_w               = 0x77;
  const XMLCh chLatin_x               = 0x78;
  const XMLCh chLatin_y               = 0x79;
  const XMLCh chLatin_z               = 0x7A;
  
  const XMLCh chYenSign               = 0xA5;
  const XMLCh chWonSign               = 0x20A9;
  
  const XMLCh chLineSeparator         = 0x2028;
  const XMLCh chParagraphSeparator    = 0x2029;
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLUri.hpp
  
  Index: XMLUri.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLUri.hpp,v 1.1 2002/03/22 00:41:55 sanjiva Exp $
   * $Log: XMLUri.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/08/29 19:03:03  peiyongz
   * Bugzilla# 2816:on AIX 4.2, xlC 3 r ev.1, Compilation error on inline method
   *
   * Revision 1.2  2001/08/16 14:09:44  peiyongz
   * Removed unused ctors and methods
   *
   * Revision 1.1  2001/08/10 16:23:41  peiyongz
   * XMLUri: creation
   *
   *
   */
  
  #if !defined(XMLURI_HPP)
  #define XMLURI_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <util/XMLString.hpp>
  
  /*
   * This class is a direct port of Java's URI class, to distinguish 
   * itself from the XMLURL, we use the name XMLUri instead of 
   * XMLURI.
   * 
   * TODO: how to relate XMLUri and XMLURL since URL is part of URI.
   *
   */
  
  class XMLUTIL_EXPORT XMLUri
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
      /**
       * Construct a new URI from a URI specification string. 
       *  
       * If the specification follows the "generic URI" syntax, (two slashes
       * following the first colon), the specification will be parsed
       * accordingly - setting the 
       *                           scheme, 
       *                           userinfo, 
       *                           host,
       *                           port, 
       *                           path, 
       *                           querystring and 
       *                           fragment 
       * fields as necessary. 
       * 
       * If the specification does not follow the "generic URI" syntax, 
       * the specification is parsed into a 
       *                           scheme and 
       *                           scheme-specific part (stored as the path) only.
       *
       * @param uriSpec the URI specification string (cannot be null or empty)
       *
       * ctor# 2
       *
       */
      XMLUri(const XMLCh* const    uriSpec);
  
      /**
       * Construct a new URI from a base URI and a URI specification string.
       * The URI specification string may be a relative URI.
       *
       * @param base the base URI (cannot be null if uriSpec is null or
       *               empty)
       * @param uriSpec the URI specification string (cannot be null or
       *                  empty if base is null)
       *
       * ctor# 7 relative ctor
       *
       */
      XMLUri(const XMLUri* const     baseURI
           , const XMLCh* const      uriSpec);
  
      virtual ~XMLUri();
  
      // -----------------------------------------------------------------------
      //  Operators
      // -----------------------------------------------------------------------
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
      /**
       * Get the scheme for this URI.
       *
       * @return the scheme for this URI
       */
       const XMLCh* getScheme() const;
   
      /**
       * Get the userinfo for this URI.
       *
       * @return the userinfo for this URI (null if not specified).
       */
       const XMLCh* getUserInfo() const;
  
  
      /**
       * Get the host for this URI.
       *
       * @return the host for this URI (null if not specified).
       */
       const XMLCh* getHost() const;
  
      /**
       * Get the port for this URI.
       *
       * @return the port for this URI (-1 if not specified).
       */
       int getPort() const;
  
      /**
       * Get the path for this URI. Note that the value returned is the path
       * only and does not include the query string or fragment.
       *
       * @return the path for this URI.
       */
       const XMLCh* getPath() const;
  
      /**
       * Get the query string for this URI.
       *
       * @return the query string for this URI. Null is returned if there
       *         was no "?" in the URI spec, empty string if there was a
       *         "?" but no query string following it.
       */
       const XMLCh* getQueryString() const;
  
      /**
       * Get the fragment for this URI.
       *
       * @return the fragment for this URI. Null is returned if there
       *         was no "#" in the URI spec, empty string if there was a
       *         "#" but no fragment following it.
       */
       const XMLCh* getFragment() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
   
      /**
       * Set the scheme for this URI. The scheme is converted to lowercase
       * before it is set.
       *
       * @param newScheme the scheme for this URI (cannot be null)
       *
       */
       void setScheme(const XMLCh* const newScheme);
  
      /**
       * Set the userinfo for this URI. If a non-null value is passed in and
       * the host value is null, then an exception is thrown.
       *
       * @param newUserinfo the userinfo for this URI
       *
       */
       void setUserInfo(const XMLCh* const newUserInfo);
  
      /**
       * Set the host for this URI. If null is passed in, the userinfo
       * field is also set to null and the port is set to -1.
       *
       * @param newHost the host for this URI
       *
       */
       void setHost(const XMLCh* const newHost);
  
      /**
       * Set the port for this URI. -1 is used to indicate that the port is
       * not specified, otherwise valid port numbers are  between 0 and 65535.
       * If a valid port number is passed in and the host field is null,
       * an exception is thrown.
       *
       * @param newPort the port number for this URI
       *
       */
       void setPort(int newPort);
    
      /**
       * Set the path for this URI. 
       *
       * If the supplied path is null, then the
       * query string and fragment are set to null as well. 
       *
       * If the supplied path includes a query string and/or fragment, 
       * these fields will be parsed and set as well. 
       *
       * Note:
       *
       * For URIs following the "generic URI" syntax, the path 
       * specified should start with a slash.
       *
       * For URIs that do not follow the generic URI syntax, this method
       * sets the scheme-specific part.
       *
       * @param newPath the path for this URI (may be null)
       *
       */
       void setPath(const XMLCh* const newPath);
  
      /**
       * Set the query string for this URI. A non-null value is valid only
       * if this is an URI conforming to the generic URI syntax and
       * the path value is not null.
       *
       * @param newQueryString the query string for this URI
       *
       */
       void setQueryString(const XMLCh* const newQueryString);
  
      /**
       * Set the fragment for this URI. A non-null value is valid only
       * if this is a URI conforming to the generic URI syntax and
       * the path value is not null.
       *
       * @param fragment the fragment for this URI
       *
       */
       void setFragment(const XMLCh* const newFragment);
  
       // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
  
  private:
  
      static const XMLCh RESERVED_CHARACTERS[];
      static const XMLCh MARK_CHARACTERS[];
      static const XMLCh SCHEME_CHARACTERS[];
      static const XMLCh USERINFO_CHARACTERS[];
  
      /**
       * Unimplemented copy ctor
       */
      XMLUri(const XMLUri& toCopy);    
      XMLUri& operator=(const XMLUri& toAssign);
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
  
      /**
       * Determine whether a character is a reserved character:
       *
       * @return true if the string contains any reserved characters
       */
      static bool isReservedCharacter(const XMLCh theChar);
  
      /**
       * Determine whether a char is an unreserved character.
       *
       * @return true if the char is unreserved, false otherwise
       */
      static bool isUnreservedCharacter(const XMLCh theChar);
  
      /**
       * Determine whether a scheme conforms to the rules for a scheme name.
       * A scheme is conformant if it starts with an alphanumeric, and
       * contains only alphanumerics, '+','-' and '.'.
       *
       * @return true if the scheme is conformant, false otherwise
       */
      static bool isConformantSchemeName(const XMLCh* const scheme);
  
      /**
       * Determine whether a userInfo conforms to the rules for a userinfo.
       *
       * @return true if the scheme is conformant, false otherwise
       */
      static void isConformantUserInfo(const XMLCh* const userInfo);
  
      /**
       * Determine whether a given string contains only URI characters (also
       * called "uric" in RFC 2396). uric consist of all reserved
       * characters, unreserved characters and escaped characters.
       *
       * @return true if the string is comprised of uric, false otherwise
       */
      static bool isURIString(const XMLCh* const uric);
  
      /**
       * Determine whether a string is syntactically capable of representing
       * a valid IPv4 address or the domain name of a network host. 
       *
       * A valid IPv4 address consists of four decimal digit groups 
       * separated by a '.'. 
       *
       * A hostname consists of domain labels (each of which must begin and 
       * end with an alphanumeric but may contain '-') separated by a '.'. 
       * See RFC 2396 Section 3.2.2.
       *
       * @return true if the string is a syntactically valid IPv4 address
       *              or hostname
       */
       static bool isWellFormedAddress(const XMLCh* const addr);
  
      /**
       * Get the indicator as to whether this URI uses the "generic URI"
       * syntax.
       *
       * @return true if this URI uses the "generic URI" syntax, false
       *         otherwise
       */
       bool isGenericURI();
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
  
      /**
       * Initialize all fields of this URI from another URI.
       *
       * @param toCopy the URI to copy (cannot be null)
       */
       void initialize(const XMLUri& toCopy);
  
      /**
       * Initializes this URI from a base URI and a URI specification string.
       * See RFC 2396 Section 4 and Appendix B for specifications on parsing
       * the URI and Section 5 for specifications on resolving relative URIs
       * and relative paths.
       *
       * @param baseURI the base URI (may be null if uriSpec is an absolute
       *               URI)
       *
       * @param uriSpec the URI spec string which may be an absolute or
       *                  relative URI (can only be null/empty if base
       *                  is not null)
       *
       */
       void initialize(const XMLUri* const baseURI
                     , const XMLCh*  const uriSpec);
  
      /**
       * Initialize the scheme for this URI from a URI string spec.
       *
       * @param uriSpec the URI specification (cannot be null)
       *
       */
       void initializeScheme(const XMLCh* const uriSpec);
                   
      /**
       * Initialize the authority (userinfo, host and port) for this
       * URI from a URI string spec.
       *
       * @param uriSpec the URI specification (cannot be null)
       *
       */
       void initializeAuthority(const XMLCh* const uriSpec);
  
      /**
       * Initialize the path for this URI from a URI string spec.
       *
       * @param uriSpec the URI specification (cannot be null)
       *
       */
       void initializePath(const XMLCh* const uriSpec);
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  for all the data member, we own it, 
      //  responsible for the creation and/or deletion for
      //  the memory allocated.
      //
      // -----------------------------------------------------------------------
  
      XMLCh*          fScheme;
      XMLCh*          fUserInfo;
      XMLCh*          fHost;
      int             fPort;
      XMLCh*          fPath;
      XMLCh*          fQueryString;
      XMLCh*          fFragment;
      
  };
  
  // ---------------------------------------------------------------------------
  //  XMLUri: Public operators
  // ---------------------------------------------------------------------------
  
  // ctor# 2
  inline XMLUri::XMLUri(const XMLCh* const uriSpec)
  :fScheme(0)
  ,fUserInfo(0)
  ,fHost(0)
  ,fPort(-1)
  ,fPath(0)
  ,fQueryString(0)
  ,fFragment(0)
  {
      initialize((XMLUri *)0, uriSpec);
  }
  
  // ctor# 7 relative ctor
  inline XMLUri::XMLUri(const XMLUri* const      baseURI
                      , const XMLCh* const       uriSpec)
  :fScheme(0)
  ,fUserInfo(0)
  ,fHost(0)
  ,fPort(-1)
  ,fPath(0)
  ,fQueryString(0)
  ,fFragment(0)
  {
      initialize(baseURI, uriSpec);
  }  
  
  // ---------------------------------------------------------------------------
  //  XMLUri: Getter methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* XMLUri::getScheme() const
  {
      return fScheme;
  }
  
  inline const XMLCh* XMLUri::getUserInfo() const
  {
  	return fUserInfo;
  }
  
  inline const XMLCh* XMLUri::getHost() const
  {
  	return fHost;
  }
  
  inline int XMLUri::getPort() const
  {
  	return fPort;
  }
  
  inline const XMLCh* XMLUri::getPath() const
  {
  	return fPath;
  }
  
  inline const XMLCh* XMLUri::getQueryString() const
  {
  	return fQueryString;
  }
  
  inline const XMLCh* XMLUri::getFragment() const
  {
  	return fFragment;
  }
  
  // ---------------------------------------------------------------------------
  //  XMLUri: Helper methods
  // ---------------------------------------------------------------------------
  inline bool XMLUri::isReservedCharacter(const XMLCh theChar)
  {
      return (XMLString::indexOf(RESERVED_CHARACTERS, theChar) != -1);
  }  
  
  inline bool XMLUri::isUnreservedCharacter(const XMLCh theChar)
  {
      return (XMLString::isAlphaNum(theChar) ||
              XMLString::indexOf(MARK_CHARACTERS, theChar) != -1);
  }  
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XMLWin1252Transcoder.hpp
  
  Index: XMLWin1252Transcoder.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  #ifndef XMLWIN1252TRANSCODER_HPP
  #define XMLWIN2152TRANSCODER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XML256TableTranscoder.hpp>
  
  
  //
  //  This class provides an implementation of the XMLTranscoder interface
  //  for the Windows variant of Latin1, called Windows-1252. Its close to
  //  Latin1, but is somewhat different.
  //
  class XMLUTIL_EXPORT XMLWin1252Transcoder : public XML256TableTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Public constructors and destructor
      // -----------------------------------------------------------------------
      XMLWin1252Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    blockSize
      );
  
      virtual ~XMLWin1252Transcoder();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLWin1252Transcoder();
      XMLWin1252Transcoder(const XMLWin1252Transcoder&);
      void operator=(const XMLWin1252Transcoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/XercesDefs.hpp
  
  Index: XercesDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XercesDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:55  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.16  2001/10/15 16:27:35  tng
   * Changes for Xerces-C 1.5.2
   *
   * Revision 1.15  2001/07/13 20:16:38  tng
   * Update for release 1.5.1.
   *
   * Revision 1.14  2001/06/05 13:52:25  tng
   * Change Version number from Xerces 1.4 to 1.5.  By Pei Yong Zhang.
   *
   * Revision 1.13  2001/05/11 13:26:32  tng
   * Copyright update.
   *
   * Revision 1.12  2001/02/08 14:15:33  tng
   * enable COMPAQ Tru64 UNIX machines to build xerces-c with gcc (tested using COMPAQ gcc version2.95.2 19991024 (release) and Tru64 V5.0 1094).  Added by Martin Kalen.
   *
   * Revision 1.11  2001/01/25 19:17:06  tng
   * const should be used instead of static const.  Fixed by Khaled Noaman.
   *
   * Revision 1.10  2001/01/12 22:09:07  tng
   * Various update for Xerces 1.4
   *
   * Revision 1.9  2000/11/07 18:14:39  andyh
   * Fix incorrect version number in gXercesMinVersion.
   * From Pieter Van-Dyck
   *
   * Revision 1.8  2000/11/02 07:23:27  roddey
   * Just a test of checkin access
   *
   * Revision 1.7  2000/08/18 21:29:14  andyh
   * Change version to 1.3 in preparation for upcoming Xerces 1.3
   * and XML4C 3.3 stable releases
   *
   * Revision 1.6  2000/08/07 20:31:34  jpolast
   * include SAX2_EXPORT module
   *
   * Revision 1.5  2000/08/01 18:26:02  aruna1
   * Tru64 support added
   *
   * Revision 1.4  2000/07/29 05:36:37  jberry
   * Fix misspelling in Mac OS port
   *
   * Revision 1.3  2000/07/19 18:20:12  andyh
   * Macintosh port: fix problems with yesterday's code checkin.  A couple
   * of the changes were mangled or missed.
   *
   * Revision 1.2  2000/04/04 20:11:29  abagchi
   * Added PTX support
   *
   * Revision 1.1  2000/03/02 19:54:50  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.13  2000/03/02 01:51:00  aruna1
   * Sun CC 5.0 related changes
   *
   * Revision 1.12  2000/02/24 20:05:26  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.11  2000/02/22 01:00:10  aruna1
   * GNUGDefs references removed. Now only GCCDefs is used instead
   *
   * Revision 1.10  2000/02/06 07:48:05  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.9  2000/02/01 23:43:32  abagchi
   * AS/400 related change
   *
   * Revision 1.8  2000/01/21 22:12:29  abagchi
   * OS390 Change: changed OE390 to OS390
   *
   * Revision 1.7  2000/01/14 01:18:35  roddey
   * Added a macro, XMLStrL(), which is defined one way or another according
   * to whether the per-compiler file defines XML_LSTRSUPPORT or not. This
   * allows conditional support of L"" type prefixes.
   *
   * Revision 1.6  2000/01/14 00:52:06  roddey
   * Updated the version information for the next release, i.e. 1.1.0
   *
   * Revision 1.5  1999/12/17 01:28:53  rahulj
   * Merged in changes submitted for UnixWare 7 port. Platform
   * specific files are still missing.
   *
   * Revision 1.4  1999/12/16 23:47:10  rahulj
   * Updated for version 1.0.1
   *
   * Revision 1.3  1999/12/01 17:16:16  rahulj
   * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
   *
   * Revision 1.2  1999/11/10 02:02:51  abagchi
   * Changed version numbers
   *
   * Revision 1.1.1.1  1999/11/09 01:05:35  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:19  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(XERCESDEFS_HPP)
  #define XERCESDEFS_HPP
  
  // ---------------------------------------------------------------------------
  //  These are the various representations of the current version of Xerces.
  //  These are updated for every build. They must be at the top because they
  //  can be used by various per-compiler headers below.
  // ---------------------------------------------------------------------------
  #define Xerces_DLLVersionStr "1_5_2"
  const char* const    gXercesVersionStr = "1_5";
  const char* const    gXercesFullVersionStr = "1_5_2";
  const unsigned int   gXercesMajVersion = 1;
  const unsigned int   gXercesMinVersion = 5;
  const unsigned int   gXercesRevision   = 2;
  
  
  // ---------------------------------------------------------------------------
  //  Include the header that does automatic sensing of the current platform
  //  and compiler.
  // ---------------------------------------------------------------------------
  #include    <util/AutoSense.hpp>
  
  
  
  // ---------------------------------------------------------------------------
  //  According to the platform we include a platform specific file. This guy
  //  will set up any platform specific stuff, such as character mode.
  // ---------------------------------------------------------------------------
  #if defined(XML_WIN32)
  #include    <util/Platforms/Win32/Win32Defs.hpp>
  #endif
  
  #if defined(XML_AIX)
  #include    <util/Platforms/AIX/AIXDefs.hpp>
  #endif
  
  #if defined(XML_SOLARIS)
  #include    <util/Platforms/Solaris/SolarisDefs.hpp>
  #endif
  
  #if defined(XML_UNIXWARE)
  #include    <util/Platforms/UnixWare/UnixWareDefs.hpp>
  #endif
  
  #if defined(XML_HPUX)
  #include    <util/Platforms/HPUX/HPUXDefs.hpp>
  #endif
  
  #if defined(XML_IRIX)
  #include    <util/Platforms/IRIX/IRIXDefs.hpp>
  #endif
  
  #if defined(XML_TANDEM)
  #include    <util/Platforms/Tandem/TandemDefs.hpp>
  #endif
  
  #if defined(XML_LINUX)
  #include    <util/Platforms/Linux/LinuxDefs.hpp>
  #endif
  
  #if defined(XML_OS390)
  #include    <util/Platforms/OS390/OS390Defs.hpp>
  #endif
  
  #if defined(XML_PTX)
  #include    <util/Platforms/PTX/PTXDefs.hpp>
  #endif
  
  #if defined(XML_OS2)
  #include    <util/Platforms/OS2/OS2Defs.hpp>
  #endif
  
  #if defined(XML_MACOS) || defined(XML_MACOSX)
  #include	<util/Platforms/MacOS/MacOSDefs.hpp>
  #endif
  
  #if defined(XML_AS400)
  #include	<util/Platforms/OS400/OS400Defs.hpp>
  #endif
  
  #if defined(XML_TRU64)
  #include	<util/Platforms/Tru64/Tru64Defs.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  And now we subinclude a header according to the development environment
  //  we are on. This guy defines for each platform some basic stuff that is
  //  specific to the development environment.
  // ---------------------------------------------------------------------------
  #if defined(XML_VISUALCPP)
  #include    <util/Compilers/VCPPDefs.hpp>
  #endif
  
  #if defined(XML_CSET)
  #include    <util/Compilers/CSetDefs.hpp>
  #endif
  
  #if defined(XML_BORLAND)
  #include    <util/Compilers/BorlandCDefs.hpp>
  #endif
  
  #if defined(XML_SUNCC) || defined(XML_SUNCC5)
  #include    <util/Compilers/SunCCDefs.hpp>
  #endif
  
  #if defined(XML_SCOCC)
  #include    <util/Compilers/SCOCCDefs.hpp>
  #endif
  
  #if defined(XML_SOLARIS_KAICC)
  #include    <util/Compilers/SunKaiDefs.hpp>
  #endif
  
  #if defined(XML_HPUX_CC) || defined(XML_HPUX_aCC) || defined(XML_HPUX_KAICC)
  #include    <util/Compilers/HPCCDefs.hpp>
  #endif
  
  #if defined(XML_MIPSPRO_CC)
  #include    <util/Compilers/MIPSproDefs.hpp>
  #endif
  
  #if defined(XML_TANDEMCC)
  #include    <util/Compilers/TandemCCDefs.hpp>
  #endif
  
  #if defined(XML_GCC)
  #include    <util/Compilers/GCCDefs.hpp>
  #endif
  
  #if defined(XML_MVSCPP)
  #include    <util/Compilers/MVSCPPDefs.hpp>
  #endif
  
  #if defined(XML_IBMVAW32)
  #include    <util/Compilers/IBMVAW32Defs.hpp>
  #endif
  
  #if defined(XML_IBMVAOS2)
  #include    <util/Compilers/IBMVAOS2Defs.hpp>
  #endif
  
  #if defined(XML_METROWERKS)
  #include	<util/Compilers/CodeWarriorDefs.hpp>
  #endif
  
  #if defined(XML_PTX_CC)
  #include	<util/Compilers/PTXCCDefs.hpp>
  #endif
  
  #if defined(XML_AS400)
  #include	<util/Compilers/OS400SetDefs.hpp>
  #endif
  
  #if defined(XML_DECCXX)
  #include	<util/Compilers/DECCXXDefs.hpp>
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Some general typedefs that are defined for internal flexibility.
  //
  //  Note  that UTF16Ch is fixed at 16 bits, whereas XMLCh floats in size per
  //  platform, to whatever is the native wide char format there. UCS4Ch is
  //  fixed at 32 bits. The types we defined them in terms of are defined per
  //  compiler, using whatever types are the right ones for them to get these
  //  16/32 bit sizes.
  // ---------------------------------------------------------------------------
  typedef unsigned char       XMLByte;
  typedef XMLUInt16           UTF16Ch;
  typedef XMLUInt32           UCS4Ch;
  
  
  
  // ---------------------------------------------------------------------------
  //  Handle boolean. If the platform can handle booleans itself, then we
  //  map our boolean type to the native type. Otherwise we create a default
  //  one as an int and define const values for true and false.
  //
  //  This flag will be set in the per-development environment stuff above.
  // ---------------------------------------------------------------------------
  #if defined(NO_NATIVE_BOOL)
    #ifndef bool
      typedef int     bool;
    #endif
    #ifndef true
      #define  true     1
    #endif
    #ifndef false
      #define false 0
    #endif
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  According to whether the compiler suports L"" type strings, we define
  //  the XMLStrL() macro one way or another.
  // ---------------------------------------------------------------------------
  #if defined(XML_LSTRSUPPORT)
  #define XMLStrL(str)  L##str
  #else
  #define XMLStrL(str)  str
  #endif
  
  
  
  // ---------------------------------------------------------------------------
  //  Set up the import/export keyword  for our core projects. The
  //  PLATFORM_XXXX keywords are set in the per-development environment
  //  include above.
  // ---------------------------------------------------------------------------
  #if defined(PROJ_XMLUTIL)
  #define XMLUTIL_EXPORT PLATFORM_EXPORT
  #else
  #define XMLUTIL_EXPORT PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_XMLPARSER)
  #define XMLPARSER_EXPORT PLATFORM_EXPORT
  #else
  #define XMLPARSER_EXPORT PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_SAX4C)
  #define SAX_EXPORT PLATFORM_EXPORT
  #else
  #define SAX_EXPORT PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_SAX2)
  #define SAX2_EXPORT PLATFORM_EXPORT
  #else
  #define SAX2_EXPORT PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_DOM)
  #define CDOM_EXPORT PLATFORM_EXPORT
  #else
  #define CDOM_EXPORT PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_PARSERS)
  #define PARSERS_EXPORT  PLATFORM_EXPORT
  #else
  #define PARSERS_EXPORT  PLATFORM_IMPORT
  #endif
  
  #if defined(PROJ_VALIDATORS)
  #define VALIDATORS_EXPORT  PLATFORM_EXPORT
  #else
  #define VALIDATORS_EXPORT  PLATFORM_IMPORT
  #endif
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/BorlandCDefs.hpp
  
  Index: BorlandCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: BorlandCDefs.hpp,v 1.1 2002/03/22 00:41:58 sanjiva Exp $
   */
  
  
  // ---------------------------------------------------------------------------
  // The following values represent various compiler version levels stored in
  // the precompiler macro __BORLANDC__, along with the associated C++Builder
  // IDE and compiler versions.
  //
  //      __BORLANDC__         IDE             Compiler
  //      ------------    --------------  ------------------
  //         0x510        BCB1            Borland C++ 5.1
  //         0x530        BCB3            Borland C++ 5.3
  //         0x540        BCB4            Borland C++ 5.4
  //         0x550        BCB5            Borland C++ 5.5
  //         0x551        BCB5 (patch 1)  Borland C++ 5.5.1
  //
  // Thus, a single copy of this file may be used to define a build environment
  // for any Borland C++Builder compiler.
  // ---------------------------------------------------------------------------
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT     __declspec(dllexport)
  #define PLATFORM_IMPORT     __declspec(dllimport)
  
  
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  We support L prefixed wide character constants
  // ---------------------------------------------------------------------------
  #define XML_LSTRSUPPORT
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  #if (__BORLANDC__ < 0x550)
  typedef unsigned short  XMLCh;
  #else
  typedef wchar_t  XMLCh;
  #endif (__BORLANDC__ < 0x550)
  
  // ---------------------------------------------------------------------------
  //  Define our version of a strict UTF16 character
  // ---------------------------------------------------------------------------
  typedef unsigned short  UTF16Ch;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  //WLH-2000-08-18 -- Add more compiler quirk cross-defines
  #define _itoa  std::itoa
  
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #ifdef _DEBUG
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL as built by the Borland projects. At this time, it
  //  does not use the versioning stuff.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "XercesLib";
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/CSetDefs.hpp
  
  Index: CSetDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CSetDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.11  2001/03/02 20:52:54  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.10  2001/02/05 20:01:39  tng
   * define NO_NATIVE_BOOL macro only if not pre-defined/reserved
   *
   * Revision 1.9  2000/10/17 00:52:00  andyh
   * Change XMLCh back to unsigned short on all platforms.
   *
   * Revision 1.8  2000/03/09 18:54:44  abagchi
   * Added header-guards to include inlines only once
   *
   * Revision 1.7  2000/03/02 19:55:07  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/14 02:28:16  aruna1
   * Added L"string" support for cset compiler
   *
   * Revision 1.4  2000/01/12 19:11:49  aruna1
   * XMLCh now defined to wchar_t
   *
   * Revision 1.3  1999/11/12 20:36:51  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:31  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:22  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(CSETDEFS_HPP)
  #define CSETDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  // ---------------------------------------------------------------------------
  //  Supports L"" prefixed constants. There are places
  //  where it is advantageous to use the L"" where it supported, to avoid
  //  unnecessary transcoding. xlC_r does support this, so we define this token.
  //  If your compiler does not support it, don't define this.
  // ---------------------------------------------------------------------------
  #define XML_LSTRSUPPORT
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #if !defined(__BOOL__)
  #define NO_NATIVE_BOOL
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  //typedef unsigned short XMLCh;
  typedef unsigned short XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLUInt16;
  typedef unsigned int   XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different/notavail on CSet
  // ---------------------------------------------------------------------------
  inline char toupper(const char toUpper)
  {
      if ((toUpper >= 'a') && (toUpper <= 'z'))
          return char(toUpper - 0x20);
      return toUpper;
  }
  
  inline char tolower(const char toLower)
  {
      if ((toLower >= 'A') && (toLower <= 'Z'))
          return char(toLower + 0x20);
      return toLower;
  }
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the CSet C++ version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  #endif // CSETDEFS_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/CodeWarriorDefs.hpp
  
  Index: CodeWarriorDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: CodeWarriorDefs.hpp,v 1.1 2002/03/22 00:41:58 sanjiva Exp $
   */
  
  
  // ---------------------------------------------------------------------------
  // NOTE:
  //
  //    Xerces is not officially supported on Macintosh. This file was sent
  //    in by one of the Macintosh users and is included in the distribution
  //    just for convenience. Please send any defects / modification
  //    reports to xml4c@us.ibm.com
  // ---------------------------------------------------------------------------
  
  
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XMLCh.
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLCh;
  typedef unsigned short  UTF16Ch;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #ifdef _DEBUG
  #define XERCES_DEBUG
  #endif
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different/notavail for CodeWarrior.
  // ---------------------------------------------------------------------------
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Codewarrior version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "xerces-c" Xerces_DLLVersionStr;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/DECCXXDefs.hpp
  
  Index: DECCXXDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DECCXXDefs.hpp,v 1.1 2002/03/22 00:41:58 sanjiva Exp $
   */
  
  #if !defined(DECCXXDEFS_HPP)
  #define	DECCXXDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the XML4C debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XML4C_DEBUG
  #endif
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2,
  	     const unsigned int count);
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the CC version of the system.
  // ---------------------------------------------------------------------------
  const char* const XML4C_DLLName = "libxerces-c";
  
  #endif	// #if !defined(DECCXXDEFS_HPP)
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/GCCDefs.hpp
  
  Index: GCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: GCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.14  2001/07/06 17:11:58  tng
   * Automatic build of single-threaded library.  By Martin Kalen.
   *
   * Revision 1.13  2001/03/02 20:52:58  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.12  2001/02/08 14:15:33  tng
   * enable COMPAQ Tru64 UNIX machines to build xerces-c with gcc (tested using COMPAQ gcc version2.95.2 19991024 (release) and Tru64 V5.0 1094).  Added by Martin Kalen.
   *
   * Revision 1.11  2000/10/17 00:52:00  andyh
   * Change XMLCh back to unsigned short on all platforms.
   *
   * Revision 1.10  2000/03/09 01:22:29  abagchi
   * Added header guards to include inlines only once
   *
   * Revision 1.9  2000/03/02 19:55:08  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/22 01:00:48  aruna1
   * GNUGDefs references removed. Now only GCCDefs is used instead
   *
   * Revision 1.7  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.6  2000/01/14 02:08:29  abagchi
   * Sorry GCC does not support long strings
   *
   * Revision 1.5  2000/01/14 01:55:09  abagchi
   * Added XML_LSTRSUPPORT
   *
   * Revision 1.4  2000/01/13 01:39:11  abagchi
   * Changed unsigned short to wchar_t for XMLCh
   *
   * Revision 1.3  1999/11/12 20:36:54  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:32  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:23  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(GCCDEFS_HPP)
  #define GCCDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  // ---------------------------------------------------------------------------
  //  GCC does not support "L" for long strings. So we do nothing.
  // ---------------------------------------------------------------------------
  // #define XML_LSTRSUPPORT
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  // typedef wchar_t XMLCh; // is another option, now considered old
  typedef unsigned short XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different/notavail on GCC
  // ---------------------------------------------------------------------------
  #if !defined(XML_TRU64) && !defined(XML_GCC)
  inline char toupper(const char toUpper)
  {
      if ((toUpper >= 'a') && (toUpper <= 'z'))
          return char(toUpper - 0x20);
      return toUpper;
  }
  
  inline char tolower(const char toLower)
  {
      if ((toLower >= 'A') && (toLower <= 'Z'))
          return char(toLower + 0x20);
      return toLower;
  }
  #endif
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the GCC version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  #endif  // GCCDEFS_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/HPCCDefs.hpp
  
  Index: HPCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: HPCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.11  2001/03/02 20:52:59  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.10  2000/03/29 00:41:07  aruna1
   * Modified bool warnings for HP CC
   *
   * Revision 1.9  2000/03/02 19:55:08  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.7  2000/01/18 22:37:20  aruna1
   * Modified XMLCh to unsigned short
   *
   * Revision 1.6  2000/01/18 21:32:21  aruna1
   * XMLCh assigned to wchar_t
   *
   * Revision 1.5  1999/12/14 23:53:25  rahulj
   * Removed the offending Ctrl-M's from the commit message
   * logs which was giving packaging problems.
   *
   * PR:
   * Obtained from:
   * Submitted by:
   * Reviewed by:
   *
   * Revision 1.4  1999/11/23 02:00:12  rahulj
   * Code now works under HPUX 11. Tested inmemory message loader.
   * Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
   *
   * Revision 1.3  1999/11/12 20:36:57  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:34  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:23  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #if defined(XML_HPUX_CC)
  #ifndef bool
  #define bool char
  #endif
  #ifndef true
   #define  true     1
  #endif
  #ifndef false
   #define false 0
  #endif
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  #ifndef INCLUDE_THIS_FILE
  #define INCLUDE_THIS_FILE
  #include <wchar.h>
  #endif
  typedef unsigned short XMLCh;
  typedef unsigned short UTF16Ch;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Provide prototypes for some string methods that are not always available
  //  on all platforms.
  // ---------------------------------------------------------------------------
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the HP CC version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/IBMVAOS2Defs.hpp
  
  Index: IBMVAOS2Defs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IBMVAOS2Defs.hpp,v 1.1 2002/03/22 00:41:58 sanjiva Exp $
   */
  
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT     _Export
  #define PLATFORM_IMPORT
  #define XERCES_EXPORT
  
  // ---------------------------------------------------------------------------
  //  Supports L"" prefixed constants. There are places
  //  where it is advantageous to use the L"" where it supported, to avoid
  //  unnecessary transcoding.
  //  If your compiler does not support it, don't define this.
  // ---------------------------------------------------------------------------
  #define XML_LSTRSUPPORT
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XMLCh.
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  // typedef wchar_t XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLUInt16;
  typedef unsigned int   XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #ifdef _DEBUG
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Visual Age C++ version of the
  //  system. OS/2 supports only 8.3 names for DLLs.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "xerces-c";
  
  
  // ---------------------------------------------------------------------------
  //  Include some common headers that are needed product wide
  // ---------------------------------------------------------------------------
  #include <STRING.h>
  #include <FLOAT.h>
  #include <MEMORY.h>
  #include <BOOL.h>
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/IBMVAW32Defs.hpp
  
  Index: IBMVAW32Defs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IBMVAW32Defs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:55:08  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  1999/11/12 20:36:59  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:36  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:24  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT     __declspec(dllexport)
  #define PLATFORM_IMPORT
  #define XERCES_EXPORT
  
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XMLCh.
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #ifdef _DEBUG
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Visual Age C++ version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "VAWXERCESC" Xerces_DLLVersionStr;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/MIPSproDefs.hpp
  
  Index: MIPSproDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MIPSproDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/03/02 20:53:01  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.4  2000/03/02 19:55:08  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  1999/12/14 23:53:25  rahulj
   * Removed the offending Ctrl-M's from the commit message
   * logs which was giving packaging problems.
   *
   * PR:
   * Obtained from:
   * Submitted by:
   * Reviewed by:
   *
   * Revision 1.1  1999/12/01 17:16:17  rahulj
   * Added support for IRIX 6.5.5 using SGI MIPSpro C++ 7.3 and 7.21 generating 32 bit objects. Changes submitted by Marc Stuessel
   *
   */
  
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  typedef unsigned short UTF16Ch;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Provide prototypes for some string methods that are not always available
  //  on all platforms.
  // ---------------------------------------------------------------------------
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  // ---------------------------------------------------------------------------
  //  The name of the DSO that is built by the MIPSpro C++ version of the
  //  system. We append a previously defined token which holds the DSO
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/MVSCPPDefs.hpp
  
  Index: MVSCPPDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MVSCPPDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2001/03/02 20:53:03  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.7  2000/10/17 00:52:00  andyh
   * Change XMLCh back to unsigned short on all platforms.
   *
   * Revision 1.6  2000/03/09 18:54:44  abagchi
   * Added header-guards to include inlines only once
   *
   * Revision 1.5  2000/03/02 19:55:08  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/16 22:51:04  abagchi
   * defined PLATFORM_EXPORT to _Export
   *
   * Revision 1.3  2000/02/08 02:32:59  abagchi
   * Changed characters from ASCII to Hex
   *
   * Revision 1.2  2000/02/06 07:48:17  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1  2000/01/21 22:15:55  abagchi
   * Initial check-in for OS390: added MVSCPPDefs.hpp and MVSCPPDefs.cpp
   *
   * Revision 1.5  2000/01/14 02:28:16  aruna1
   * Added L"string" support for cset compiler
   *
   * Revision 1.4  2000/01/12 19:11:49  aruna1
   * XMLCh now defined to wchar_t
   *
   * Revision 1.3  1999/11/12 20:36:51  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:31  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:22  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(MVSCPPDEFS_HPP)
  #define MVSCPPDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT _Export
  #define PLATFORM_IMPORT _Export
  
  // ---------------------------------------------------------------------------
  //  Supports L"" prefixed constants. There are places
  //  where it is advantageous to use the L"" where it supported, to avoid
  //  unnecessary transcoding. c++ does support this, so we define this token.
  //  If your compiler does not support it, don't define this.
  // ---------------------------------------------------------------------------
  #define XML_LSTRSUPPORT
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  // typedef wchar_t XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLUInt16;
  typedef unsigned int   XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int            XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different/notavail on MVSCPP
  // ---------------------------------------------------------------------------
  
  //
  // This is a upper casing function. Note that this will not cover
  // all NLS cases such as European accents etc. but there aren't
  // any of these in the current uses of this function in Xerces.
  // If this changes in the future, than we can re-address the issue
  // at that time.
  //
  inline char mytoupper(const char toUpper)
  {
      if ((toUpper >= 0x61) && (toUpper <= 0x7A))
          return char(toUpper - 0x20);
      return toUpper;
  }
  
  inline char mytolower(const char toLower)
  {
      if ((toLower >= 0x41) && (toLower <= 0x5A))
          return char(toLower + 0x20);
      return toLower;
  }
  
  inline XMLCh mytowupper(const XMLCh toUpper)
  {
      if ((toUpper >= 0x61) && (toUpper <= 0x7A))
         return XMLCh(toUpper - 0x20);
      return toUpper;
  }
  
  inline XMLCh mytowlower(const XMLCh toLower)
  {
      if ((toLower >= 0x41) && (toLower <= 0x5A))
         return XMLCh(toLower + 0x20);
      return toLower;
  }
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the MVSCPP version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  #endif  // MVSCPPDEFS_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/OS400SetDefs.hpp
  
  Index: OS400SetDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: OS400SetDefs.hpp,v 1.1 2002/03/22 00:41:58 sanjiva Exp $
   */
  
  
  #ifndef OS400SETDEFS_H
  #define OS400SETDEFS_H 
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #if !defined(__BOOL__)
    #define NO_NATIVE_BOOL
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLUInt16;
  typedef unsigned int   XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int            XMLInt32;
  
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the CSet C++ version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxercesc";
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/PTXCCDefs.hpp
  
  Index: PTXCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: PTXCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/03/02 20:53:05  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.2  2000/04/04 21:07:39  abagchi
   * Fixed copyrights with initial checkin
   *
   */ 
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the XML4C debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XML4C_DEBUG
  #endif 
  
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  // ---------------------------------------------------------------------------
  //  Force on the XML4C2 debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XML4C2_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Visual C++ version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XML4CDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const XML4C_DLLName = "libxerces-c";
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SCOCCDefs.hpp
  
  Index: SCOCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SCOCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:09  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:18  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1  1999/12/17 22:24:03  rahulj
   * Added missing UnixWare files to the repository.
   *
   * Created by Ron Record (rr@sco.com) and based on SunCCDefs.hpp
   * 14-Nov-1999
   */
  
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do support native bools
  // ---------------------------------------------------------------------------
  #if defined(NO_NATIVE_BOOL)
  #undef NO_NATIVE_BOOL
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the CC version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SunCCDefs.hpp
  
  Index: SunCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SunCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/03/02 20:53:07  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.11  2000/10/17 00:52:00  andyh
   * Change XMLCh back to unsigned short on all platforms.
   *
   * Revision 1.10  2000/10/13 23:38:37  andyh
   * Solaris:  change detection for native support for type bool to defined(_BOOL)
   * Contributed by Edward Bortner.
   *
   * Revision 1.9  2000/03/09 18:54:44  abagchi
   * Added header-guards to include inlines only once
   *
   * Revision 1.8  2000/03/02 19:55:09  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/03/02 01:50:30  aruna1
   * Sun CC 5.0 related changes
   *
   * Revision 1.6  2000/02/06 07:48:18  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/14 02:52:14  aruna1
   * XMLCh now mapped to wchar_t
   *
   * Revision 1.4  1999/11/17 21:49:42  abagchi
   * Added the definitions of XMLUInt16 and XMLUInt32
   * PR:
   * Obtained from:
   * Submitted by:
   * Reviewed by:
   *
   * Revision 1.3  1999/11/12 20:37:00  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:39  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:25  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(SUNCCDEFS_HPP)
  #define SUNCCDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #if !defined(_BOOL)
  #define NO_NATIVE_BOOL
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different/notavail on CC
  // ---------------------------------------------------------------------------
  inline char toupper(const char toUpper)
  {
      if ((toUpper >= 'a') && (toUpper <= 'z'))
          return char(toUpper - 0x20);
      return toUpper;
  }
  
  inline char tolower(const char toLower)
  {
      if ((toLower >= 'A') && (toLower <= 'Z'))
          return char(toLower + 0x20);
      return toLower;
  }
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the CC version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  #endif  // SUNCCDEFS_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/SunKaiDefs.hpp
  
  Index: SunKaiDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SunKaiDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2000/03/02 19:55:09  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/06 07:48:18  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  1999/11/12 20:37:01  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:40  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:25  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  // NOTE:
  //
  //   Xerces is not officially supported with the KAI compiler. This file
  //   was sent in by one of the users and is included in the distribution
  //   just for convenience. Please send any defects / modification
  //   reports to xml4c@us.ibm.com
  // ---------------------------------------------------------------------------
  
  
  // ---------------------------------------------------------------------------
  //  Include some runtime files that will be needed product wide
  // ---------------------------------------------------------------------------
  #include <memory.h>
  #include <strings.h>
  
  
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT   
  
  
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XMLCh.
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Visual C++ version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "KAIXERCESC" Xerces_DLLVersionStr;
  
  
  // ---------------------------------------------------------------------------
  //  Define some platform specific defines
  // ---------------------------------------------------------------------------
  #define XERCES_EXPORT
  
  
  
  // ---------------------------------------------------------------------------
  //  Provide prototypes for some string functions that are not provided on all
  //  platforms.
  // ---------------------------------------------------------------------------
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/TandemCCDefs.hpp
  
  Index: TandemCCDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: TandemCCDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2000/03/09 18:54:45  abagchi
   * Added header-guards to include inlines only once
   *
   * Revision 1.5  2000/03/02 19:55:09  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.4  2000/02/06 07:48:18  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.3  1999/11/12 20:37:03  rahulj
   * Changed library name to xerces-c.lib.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:40  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:25  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(TANDEMCCDEFS_HPP)
  #define TANDEMCCDEFS_HPP
  
  // ---------------------------------------------------------------------------
  // Define these away for this platform
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT
  #define PLATFORM_IMPORT
  
  
  // ---------------------------------------------------------------------------
  // Indicate that we do not support native bools
  // ---------------------------------------------------------------------------
  #undef NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XML character
  // ---------------------------------------------------------------------------
  typedef unsigned short XMLCh;
  
  
  // ---------------------------------------------------------------------------
  //  Force on the XERCES debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if 0
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  Provide some common string ops that are different.
  // ---------------------------------------------------------------------------
  inline char toupper(const char toUpper) 
  {
      if ((toUpper >= 'a') && (toUpper <= 'z'))
          return char(toUpper - 0x20);
      return toUpper;
  }
  
  inline char tolower(const char toLower)
  {
      if ((toLower >= 'A') && (toLower <= 'Z'))
          return char(toLower + 0x20);
      return toLower;
  }
  
  int stricmp(const char* const str1, const char* const  str2);
  int strnicmp(const char* const str1, const char* const  str2, const unsigned int count);
  
  
  
  // ---------------------------------------------------------------------------
  //  The name of the library that is built by the Tandem version of the system.
  // ---------------------------------------------------------------------------
  const char* const Xerces_DLLName = "libxerces-c";
  
  #endif  // TANDEMCCDEFS_HPP
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Compilers/VCPPDefs.hpp
  
  Index: VCPPDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: VCPPDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:41:58  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2001/06/04 20:11:54  tng
   * IDOM: Complete IDNodeIterator, IDTreeWalker, IDNodeFilter.
   *
   * Revision 1.12  2001/06/04 13:45:06  tng
   * The "hash" argument clashes with STL hash.  Fixed by Pei Yong Zhang.
   *
   * Revision 1.11  2001/05/29 18:50:24  tng
   * IDOM: call allocate directly for array allocation to avoid overloading operator new[] which leads to compilation error on SUN CC 4.2
   *
   * Revision 1.10  2001/05/28 20:59:21  tng
   * IDOM: move operator new[] to VCPPDefs as only Windows VCPP requires its presense
   *
   * Revision 1.9  2001/05/23 20:35:03  tng
   * IDOM: Move operator delete to VCPPDefs.hpp as only VCPP needs a matching delete operator.
   *
   * Revision 1.8  2001/03/02 20:53:08  knoaman
   * Schema: Regular expression - misc. updates for error messages,
   * and additions of new functions to XMLString class.
   *
   * Revision 1.7  2000/06/16 21:13:23  rahulj
   * Add 'D' suffix to the library name for the 'DEBUG' build
   * configuration.
   *
   * Revision 1.6  2000/03/02 19:55:09  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.5  2000/02/06 07:48:18  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.4  2000/01/14 01:19:22  roddey
   * Added a define of XML_LSTRSUPPORT to indicate supoprt of L"" type
   * prefixes on this compiler.
   *
   * Revision 1.3  2000/01/14 00:51:30  roddey
   * Added the requested XMLStrL() macro to support some portable
   * optimization of DOM code. This still needs to be added to the other
   * per-compiler files.
   *
   * Revision 1.2  1999/11/10 21:26:14  abagchi
   * Changed the DLL name
   *
   * Revision 1.1.1.1  1999/11/09 01:07:41  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:25  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  
  // ---------------------------------------------------------------------------
  //  A define in the build for each project is also used to control whether
  //  the export keyword is from the project's viewpoint or the client's.
  //  These defines provide the platform specific keywords that they need
  //  to do this.
  // ---------------------------------------------------------------------------
  #define PLATFORM_EXPORT     __declspec(dllexport)
  #define PLATFORM_IMPORT     __declspec(dllimport)
  
  
  // ---------------------------------------------------------------------------
  //  Each compiler might support L"" prefixed constants. There are places
  //  where it is advantageous to use the L"" where it supported, to avoid
  //  unnecessary transcoding. VC++ does support this, so we define this token.
  //  If your compiler does not support it, don't define this.
  // ---------------------------------------------------------------------------
  #define XML_LSTRSUPPORT
  
  
  // ---------------------------------------------------------------------------
  //  Indicate that we support native bools
  // ---------------------------------------------------------------------------
  // #define NO_NATIVE_BOOL
  
  
  // ---------------------------------------------------------------------------
  //  Define our version of the XMLCh. XMLCh should be mapped to the native
  //  wide char type (whatever wchar_t is.) In VC++, wchar_t is not an
  //  intrinsic type and is just mapped to unsigned short.
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLCh;
  typedef unsigned short  UTF16Ch;
  
  
  // ---------------------------------------------------------------------------
  //  Define unsigned 16 and 32 bits integers
  // ---------------------------------------------------------------------------
  typedef unsigned short  XMLUInt16;
  typedef unsigned int    XMLUInt32;
  
  // ---------------------------------------------------------------------------
  //  Define signed 32 bits integers
  // ---------------------------------------------------------------------------
  typedef int             XMLInt32;
  
  // ---------------------------------------------------------------------------
  //  Force on the Xerces debug token if it was on in the build environment
  // ---------------------------------------------------------------------------
  #if defined(_DEBUG)
  #define XERCES_DEBUG
  #endif
  
  
  // ---------------------------------------------------------------------------
  //  The name of the DLL that is built by the Visual C++ version of the
  //  system. We append a previously defined token which holds the DLL
  //  versioning string. This is defined in XercesDefs.hpp which is what this
  //  file is included into.
  // ---------------------------------------------------------------------------
  #if defined(XERCES_DEBUG)
  const char* const Xerces_DLLName = "xerces-c_" Xerces_DLLVersionStr "D";
  #else
  const char* const Xerces_DLLName = "xerces-c_" Xerces_DLLVersionStr;
  #endif
  
  // ---------------------------------------------------------------------------
  //  For IDOM:
  //  Bypass compiler warning:
  //    no matching operator delete found; memory will not be freed if initialization throws an exception
  // ---------------------------------------------------------------------------
  #if _MSC_VER == 1200 /* VC++ 6.0 */
  class IDOM_Document;
  inline void operator delete(void* ptr, IDOM_Document *doc)
  {
      return;
  }
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU/ICUMsgLoader.hpp
  
  Index: ICUMsgLoader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ICUMsgLoader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:59  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:14  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:21  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:24  twl
   * Initial checkin
   *
   * Revision 1.4  1999/11/08 20:45:26  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(ICUMSGLOADER_HPP)
  #define ICUMSGLOADER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLMsgLoader.hpp>
  
  class ResourceBundle;
  
  //
  //  This is the ICU specific implementation of the XMLMsgLoader interface.
  //  This one uses ICU resource bundles to store its messages.
  //
  class XMLUTIL_EXPORT ICUMsgLoader : public XMLMsgLoader
  {
  public :
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      ICUMsgLoader(const XMLCh* const  toLoad);
      ~ICUMsgLoader();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual message loader API
      // -----------------------------------------------------------------------
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
          , const XMLCh* const            repText1
          , const XMLCh* const            repText2 = 0
          , const XMLCh* const            repText3 = 0
          , const XMLCh* const            repText4 = 0
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
          , const char* const             repText1
          , const char* const             repText2 = 0
          , const char* const             repText3 = 0
          , const char* const             repText4 = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ICUMsgLoader();
      ICUMsgLoader(const ICUMsgLoader&);
      void operator=(const ICUMsgLoader&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBundle
      //      This is the ICU resource bundle that we use to track messages.
      //
      //  fBundleType
      //      This is the bundle that we are using. This is used to map message
      //      ids to key values.
      // -----------------------------------------------------------------------
      ResourceBundle*       fBundle;
      XMLCh*                fBundleType;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory/CppErrMsgs_EN_US.hpp
  
  Index: CppErrMsgs_EN_US.hpp
  ===================================================================
  // ----------------------------------------------------------------
  //  This file was generated from the XML error message source.
  //  so do not edit this file directly!!
  // ----------------------------------------------------------------
  
  const XMLCh gXMLErrArray[][128] = 
  {
      { 0x0057,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
    , { 0x004E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0045,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0028,0x007B,0x0030,0x007D,0x002C,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x0020,0x006F,0x0072,0x0020,0x006D,0x0061,0x006E,0x0075,0x0061,0x006C,0x006C,0x0079,0x0020,0x0073,0x0065,0x0074,0x0029,0x0020,0x0063,0x006F,0x006E,0x0074,0x0072,0x0061,0x0064,0x0069,0x0063,0x0074,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0061,0x0075,0x0074,0x006F,0x002D,0x0073,0x0065,0x006E,0x0073,0x0065,0x0064,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x002C,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0069,0x006E,0x0067,0x0020,0x0069,0x0074,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x006E,0x0020,0x0061,0x0074,0x0074,0x006C,0x0069,0x0073,0x0074,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0057,0x005F,0x0045,0x006E,0x0064,0x00 }
    , { 0x0045,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x0075,0x006E,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0054,0x006F,0x0070,0x0020,0x006C,0x0065,0x0076,0x0065,0x006C,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x006C,0x0079,0x002D,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x002D,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x006C,0x0079,0x002D,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x003C,0x0067,0x0072,0x006F,0x0075,0x0070,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x003C,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x006E,0x006F,0x006E,0x0079,0x006D,0x006F,0x0075,0x0073,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
    , { 0x0041,0x006E,0x006F,0x006E,0x0079,0x006D,0x006F,0x0075,0x0073,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0061,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0066,0x006F,0x0072,0x006D,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0074,0x0065,0x006D,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0028,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x003F,0x002C,0x0020,0x0028,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x007C,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0029,0x003F,0x002C,0x0020,0x0028,0x0075,0x006E,0x0069,0x0071,0x0075,0x0065,0x0020,0x007C,0x0020,0x006B,0x0065,0x0079,0x0020,0x007C,0x0020,0x006B,0x0065,0x0079,0x0072,0x0065,0x0066,0x0029,0x002A,0x0029,0x00 }
    , { 0x0055,0x006E,0x0074,0x0079,0x0070,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0027,0x006C,0x0069,0x0073,0x0074,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x004C,0x0069,0x0073,0x0074,0x0020,0x007C,0x0020,0x0055,0x006E,0x0069,0x006F,0x006E,0x0020,0x007C,0x0020,0x0052,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x006C,0x0069,0x0073,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0027,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x002D,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0027,0x0075,0x006E,0x0069,0x006F,0x006E,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0053,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x002E,0x0020,0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x006F,0x0072,0x0020,0x0045,0x0058,0x0054,0x0045,0x004E,0x0053,0x0049,0x004F,0x004E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0042,0x0041,0x0053,0x0045,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x006F,0x0072,0x0020,0x0045,0x0058,0x0054,0x0045,0x004E,0x0053,0x0049,0x004F,0x004E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x002E,0x0020,0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x006F,0x0072,0x0020,0x0045,0x0058,0x0054,0x0045,0x004E,0x0053,0x0049,0x004F,0x004E,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x003C,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0066,0x006F,0x0072,0x006D,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0074,0x0065,0x006D,0x00 }
    , { 0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0028,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x003F,0x002C,0x002E,0x002E,0x0029,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0063,0x006F,0x0072,0x0072,0x0065,0x0063,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0050,0x0072,0x0065,0x0066,0x0069,0x0078,0x003A,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0072,0x0065,0x0073,0x006F,0x006C,0x0076,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0061,0x0020,0x0055,0x0052,0x0049,0x00 }
    , { 0x0052,0x0065,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0054,0x0079,0x0070,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x007B,0x0030,0x007D,0x003A,0x007B,0x0031,0x007D,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x0069,0x006E,0x0064,0x0020,0x0074,0x006F,0x0070,0x0020,0x006C,0x0065,0x0076,0x0065,0x006C,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0042,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0063,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x004E,0x006F,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x003A,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0069,0x006E,0x0067,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0062,0x006C,0x006F,0x0063,0x006B,0x0027,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0023,0x0061,0x006C,0x006C,0x0020,0x007C,0x0020,0x006C,0x0069,0x0073,0x0074,0x0028,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x002C,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0029,0x003B,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0066,0x0069,0x006E,0x0061,0x006C,0x0027,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0023,0x0061,0x006C,0x006C,0x0020,0x007C,0x0020,0x006C,0x0069,0x0073,0x0074,0x0028,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x002C,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0029,0x003B,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0041,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0027,0x0066,0x0069,0x0078,0x0065,0x0064,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0027,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0027,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0020,0x0061,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0074,0x0069,0x006D,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0075,0x0073,0x0065,0x0064,0x00 }
    , { 0x0049,0x0066,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0061,0x006E,0x0064,0x0020,0x0075,0x0073,0x0065,0x0020,0x0061,0x0072,0x0065,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x002C,0x0020,0x0075,0x0073,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x006F,0x0070,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0027,0x002E,0x00 }
    , { 0x004C,0x006F,0x0063,0x0061,0x006C,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003A,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0073,0x006F,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x002D,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003A,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x006E,0x0063,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0073,0x0063,0x006F,0x0070,0x0065,0x002D,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0073,0x0020,0x006D,0x0061,0x0079,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0053,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0028,0x007B,0x0030,0x007D,0x003A,0x007B,0x0031,0x007D,0x0029,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003A,0x0020,0x007B,0x0032,0x007D,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0041,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0027,0x0066,0x0069,0x0078,0x0065,0x0064,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0027,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0027,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0020,0x0061,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0074,0x0069,0x006D,0x0065,0x00 }
    , { 0x007B,0x0030,0x007D,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0073,0x006F,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x002D,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0072,0x0065,0x0066,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0061,0x006E,0x0079,0x0020,0x006F,0x0066,0x0020,0x0074,0x0079,0x0070,0x0065,0x002C,0x0020,0x0061,0x0062,0x0073,0x0074,0x0072,0x0061,0x0063,0x0074,0x002C,0x0020,0x0062,0x006C,0x006F,0x0063,0x006B,0x002C,0x0020,0x0066,0x0069,0x006E,0x0061,0x006C,0x002C,0x0020,0x006E,0x0075,0x006C,0x006C,0x0061,0x0062,0x006C,0x0065,0x002C,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x006F,0x0072,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x007B,0x0030,0x007D,0x0020,0x006E,0x0061,0x006D,0x0065,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x006C,0x0079,0x002D,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x002D,0x0020,0x0072,0x0065,0x0066,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x002F,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x0020,0x006F,0x0072,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0020,0x006F,0x0072,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x007B,0x0031,0x007D,0x0020,0x0075,0x0073,0x0065,0x0073,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x0027,0x0066,0x0069,0x006E,0x0061,0x006C,0x0027,0x0020,0x0077,0x0068,0x0069,0x0063,0x0068,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0070,0x0065,0x0072,0x006D,0x0069,0x0074,0x0020,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0061,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x002E,0x0020,0x0049,0x0074,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x006F,0x0072,0x0020,0x0045,0x0058,0x0054,0x0045,0x004E,0x0053,0x0049,0x004F,0x004E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x0052,0x0045,0x0053,0x0054,0x0052,0x0049,0x0043,0x0054,0x0049,0x004F,0x004E,0x0020,0x006F,0x0072,0x0020,0x0045,0x0058,0x0054,0x0045,0x004E,0x0053,0x0049,0x004F,0x004E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0041,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0063,0x0061,0x006E,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x006F,0x006E,0x0063,0x0065,0x003A,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0020,0x0069,0x0074,0x0073,0x0065,0x006C,0x0066,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0061,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0061,0x006E,0x0064,0x002F,0x006F,0x0072,0x0020,0x0061,0x0073,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x006C,0x0069,0x0073,0x0074,0x0020,0x0061,0x006E,0x0064,0x002F,0x006F,0x0072,0x0020,0x0075,0x006E,0x0069,0x006F,0x006E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x0027,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x0075,0x006E,0x0069,0x006F,0x006E,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x006C,0x0069,0x0073,0x0074,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0062,0x006C,0x006F,0x0063,0x006B,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x0069,0x006E,0x0061,0x006C,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0068,0x0065,0x0061,0x0064,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0077,0x0068,0x0069,0x0063,0x0068,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0061,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0068,0x0065,0x0061,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x00 }
    , { 0x0044,0x0075,0x0070,0x006C,0x0069,0x0063,0x0061,0x0074,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0073,0x0063,0x006F,0x0070,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0062,0x006C,0x006F,0x0063,0x006B,0x0027,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x0020,0x006F,0x0066,0x0020,0x0061,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0023,0x0061,0x006C,0x006C,0x0020,0x007C,0x0020,0x006C,0x0069,0x0073,0x0074,0x0028,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x002C,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x002C,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0029,0x003B,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0066,0x0069,0x006E,0x0061,0x006C,0x0027,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x0020,0x006F,0x0066,0x0020,0x0061,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0023,0x0061,0x006C,0x006C,0x0020,0x007C,0x0020,0x006C,0x0069,0x0073,0x0074,0x0028,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x002C,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0029,0x003B,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003A,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x002E,0x00 }
    , { 0x0052,0x0065,0x0066,0x0020,0x0069,0x0073,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x002C,0x0020,0x0061,0x006E,0x0064,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x002F,0x0066,0x006F,0x0072,0x006D,0x002F,0x0074,0x0079,0x0070,0x0065,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0044,0x0075,0x0070,0x006C,0x0069,0x0063,0x0061,0x0074,0x0065,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x007B,0x0030,0x007D,0x003A,0x007B,0x0031,0x007D,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0044,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x0066,0x006F,0x0072,0x0062,0x0069,0x0064,0x0064,0x0065,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0069,0x0074,0x0068,0x0065,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0044,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x0066,0x006F,0x0072,0x0062,0x0069,0x0064,0x0064,0x0065,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0069,0x0074,0x0068,0x0065,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x00 }
    , { 0x0049,0x006D,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x004E,0x0061,0x006D,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0077,0x0068,0x0061,0x0074,0x0027,0x0073,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0067,0x0065,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0064,0x006F,0x0063,0x0020,0x0072,0x006F,0x006F,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0069,0x006D,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0041,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x004C,0x006F,0x0063,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0049,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0064,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x004E,0x0061,0x006D,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0041,0x0074,0x0020,0x006D,0x006F,0x0073,0x0074,0x0020,0x006F,0x006E,0x0065,0x0020,0x003C,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0061,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0027,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0028,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x003F,0x002C,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x003F,0x0029,0x003B,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x0069,0x006E,0x0020,0x007B,0x0031,0x007D,0x0020,0x007B,0x0032,0x007D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0073,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x0069,0x006E,0x0020,0x007B,0x0031,0x007D,0x0020,0x007B,0x0032,0x007D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0073,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0069,0x006E,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0061,0x0078,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0027,0x0061,0x006E,0x0079,0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0027,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x0063,0x0061,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0020,0x0061,0x0074,0x0020,0x006D,0x006F,0x0073,0x0074,0x0020,0x006F,0x006E,0x0065,0x0020,0x0027,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0027,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0069,0x0072,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0072,0x0065,0x006E,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x0020,0x003C,0x007B,0x0030,0x007D,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x002D,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x004E,0x006F,0x0020,0x0063,0x0069,0x0072,0x0063,0x0075,0x006C,0x0061,0x0072,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x003A,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x0020,0x007B,0x0030,0x007D,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x006E,0x0063,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x006C,0x0073,0x006F,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0061,0x0073,0x0020,0x007B,0x0032,0x007D,0x00 }
    , { 0x0047,0x006C,0x006F,0x0062,0x0061,0x006C,0x0020,0x007B,0x0030,0x007D,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x006E,0x0063,0x0065,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0066,0x006F,0x0072,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x0027,0x0077,0x0068,0x0069,0x0074,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0027,0x002E,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x0062,0x0065,0x0020,0x0027,0x0063,0x006F,0x006C,0x006C,0x0061,0x0070,0x0073,0x0065,0x0027,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x006E,0x0020,0x003C,0x0069,0x006D,0x0070,0x006F,0x0072,0x0074,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x004E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x003C,0x0069,0x006D,0x0070,0x006F,0x0072,0x0074,0x003E,0x0069,0x006E,0x0067,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0049,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x006F,0x006E,0x0020,0x0061,0x006E,0x0020,0x003C,0x0069,0x006D,0x0070,0x006F,0x0072,0x0074,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x002C,0x0020,0x0074,0x0068,0x0065,0x0020,0x003C,0x0069,0x006D,0x0070,0x006F,0x0072,0x0074,0x003E,0x0069,0x006E,0x0067,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x004E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0061,0x0069,0x006E,0x0074,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0061,0x0073,0x0020,0x0069,0x0074,0x0073,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0049,0x0044,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x004E,0x004F,0x0054,0x0041,0x0054,0x0049,0x004F,0x004E,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0064,0x0069,0x0072,0x0065,0x0063,0x0074,0x006C,0x0079,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x002F,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0046,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0074,0x0068,0x0065,0x0020,0x007B,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x007D,0x0020,0x0069,0x0073,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x002C,0x0020,0x0074,0x0068,0x0065,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x007B,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x007D,0x0027,0x0073,0x0020,0x0070,0x0061,0x0072,0x0074,0x0069,0x0063,0x006C,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x006D,0x0070,0x0074,0x0069,0x0061,0x0062,0x006C,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x0045,0x004D,0x0050,0x0054,0x0059,0x002C,0x0020,0x0062,0x0075,0x0074,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x0020,0x006F,0x0072,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0065,0x006D,0x0070,0x0074,0x0069,0x0061,0x0062,0x006C,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x0069,0x0063,0x006C,0x0065,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x003A,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x003A,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x0062,0x0065,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x0020,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x002D,0x006F,0x006E,0x006C,0x0079,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x002E,0x00 }
    , { 0x0044,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0020,0x006F,0x0072,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x0066,0x006F,0x0072,0x0062,0x0069,0x0064,0x0065,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0069,0x0074,0x0068,0x0065,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x007B,0x0069,0x0074,0x0065,0x006D,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x007D,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x007B,0x0076,0x0061,0x0072,0x0069,0x0065,0x0074,0x0079,0x007D,0x0020,0x006F,0x0066,0x0020,0x0061,0x0074,0x006F,0x006D,0x0069,0x0063,0x0020,0x006F,0x0072,0x0020,0x0075,0x006E,0x0069,0x006F,0x006E,0x0020,0x0028,0x0077,0x0068,0x0065,0x0072,0x0065,0x0020,0x0061,0x006C,0x006C,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0074,0x006F,0x006D,0x0069,0x0063,0x0029,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x007B,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x0073,0x007D,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0061,0x006C,0x006C,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x007B,0x0076,0x0061,0x0072,0x0069,0x0065,0x0074,0x0079,0x007D,0x0020,0x006F,0x0066,0x0020,0x0061,0x0074,0x006F,0x006D,0x0069,0x0063,0x0020,0x006F,0x0072,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x003A,0x0027,0x0030,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0020,0x0028,0x0061,0x006C,0x006C,0x0020,0x007C,0x0020,0x0063,0x0068,0x006F,0x0069,0x0063,0x0065,0x0020,0x007C,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x0029,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x003A,0x0027,0x0030,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0028,0x0061,0x006E,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x003F,0x002E,0x0020,0x0028,0x0028,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x007C,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x0029,0x002A,0x002C,0x0020,0x0061,0x006E,0x0079,0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x003F,0x0029,0x0029,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0079,0x0020,0x0065,0x0069,0x0074,0x0068,0x0065,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0069,0x006E,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x006F,0x0072,0x0020,0x006D,0x0061,0x0078,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x002D,0x0027,0x007B,0x0031,0x007D,0x003A,0x007B,0x0032,0x007D,0x0027,0x002D,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0041,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0077,0x0068,0x006F,0x0073,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x0027,0x0061,0x006C,0x006C,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x0061,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x002E,0x00 }
    , { 0x0057,0x0068,0x0065,0x006E,0x0020,0x0061,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0068,0x0061,0x0073,0x0020,0x007B,0x0063,0x006F,0x006D,0x0070,0x006F,0x0073,0x0069,0x0074,0x006F,0x0072,0x007D,0x0020,0x0027,0x0061,0x006C,0x006C,0x0027,0x0020,0x0077,0x0068,0x0069,0x0063,0x0068,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0065,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x007B,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x007D,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0020,0x0074,0x0079,0x0070,0x0065,0x002C,0x0020,0x006D,0x0069,0x006E,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x003D,0x006D,0x0061,0x0078,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x003D,0x0031,0x00 }
    , { 0x0049,0x006E,0x0020,0x0061,0x006E,0x0020,0x0027,0x0061,0x006C,0x006C,0x0027,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0063,0x006F,0x006D,0x0070,0x006F,0x006E,0x0065,0x006E,0x0074,0x002C,0x0020,0x0074,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0069,0x006E,0x0043,0x006F,0x0063,0x0063,0x0075,0x0072,0x0073,0x002F,0x006D,0x0061,0x0078,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x006F,0x0066,0x0020,0x0061,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0027,0x0030,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0031,0x0027,0x002E,0x00 }
    , { 0x0043,0x0069,0x0072,0x0063,0x0075,0x006C,0x0061,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x002D,0x007B,0x0030,0x007D,0x002D,0x0020,0x0069,0x0073,0x0020,0x0064,0x0069,0x0073,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x006F,0x0075,0x0074,0x0073,0x0069,0x0064,0x0065,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0070,0x0070,0x0065,0x0061,0x0072,0x0020,0x0069,0x006E,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0062,0x0079,0x0020,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0066,0x0020,0x007B,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0073,0x0020,0x0077,0x0069,0x006C,0x0064,0x0063,0x0061,0x0072,0x0064,0x007D,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x0062,0x006C,0x0065,0x00 }
    , { 0x0042,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x006E,0x0079,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0073,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0063,0x006F,0x006E,0x0073,0x0069,0x0073,0x0074,0x0065,0x006E,0x0074,0x0020,0x0052,0x0045,0x0051,0x0055,0x0049,0x0052,0x0045,0x0044,0x0020,0x0073,0x0065,0x0074,0x0074,0x0069,0x006E,0x0067,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0054,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x006C,0x0079,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0069,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0069,0x0074,0x0068,0x0065,0x0072,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x002C,0x0020,0x006F,0x0072,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0072,0x0065,0x0073,0x0070,0x0065,0x0063,0x0074,0x0020,0x0074,0x006F,0x0020,0x0061,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0077,0x0069,0x006C,0x0064,0x0063,0x0061,0x0072,0x0064,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0061,0x0069,0x006E,0x0074,0x0020,0x006F,0x0072,0x002C,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0020,0x0077,0x0069,0x006C,0x0064,0x0063,0x0061,0x0072,0x0064,0x00 }
    , { 0x0041,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0077,0x0069,0x006C,0x0064,0x0063,0x0061,0x0072,0x0064,0x0020,0x0069,0x0073,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x002C,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0077,0x0069,0x006C,0x0064,0x0063,0x0061,0x0072,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x003C,0x0061,0x006C,0x006C,0x003E,0x0020,0x0069,0x0073,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x006F,0x006E,0x006C,0x0079,0x002E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x0020,0x0061,0x006E,0x0064,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0052,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x004E,0x0061,0x006D,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x002E,0x00 }
    , { 0x0041,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0061,0x0073,0x0020,0x0061,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x002C,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0061,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x0027,0x0073,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
    , { 0x0041,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0061,0x0073,0x0020,0x0061,0x0020,0x0067,0x0072,0x0061,0x006E,0x0064,0x0063,0x0068,0x0069,0x006C,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x002F,0x0065,0x0078,0x0074,0x0065,0x006E,0x0073,0x0069,0x006F,0x006E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0061,0x0073,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0054,0x0079,0x0070,0x0065,0x0027,0x0073,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0069,0x006E,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0068,0x0069,0x0063,0x0068,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x0074,0x006F,0x0020,0x0061,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0062,0x0065,0x0069,0x006E,0x0067,0x0020,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x006D,0x0069,0x006E,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x003D,0x0020,0x006D,0x0061,0x0078,0x004F,0x0063,0x0063,0x0075,0x0072,0x0073,0x0020,0x003D,0x0020,0x0031,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x0069,0x006E,0x0064,0x0020,0x0061,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x0063,0x006F,0x0072,0x0072,0x0065,0x0073,0x0070,0x006F,0x006E,0x0064,0x0069,0x006E,0x0067,0x0020,0x0074,0x006F,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0049,0x0066,0x0020,0x0061,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0061,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x0072,0x0065,0x0066,0x0027,0x0069,0x006E,0x0067,0x0020,0x0069,0x0074,0x0073,0x0065,0x006C,0x0066,0x002C,0x0020,0x0069,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0065,0x0078,0x0061,0x0063,0x0074,0x006C,0x0079,0x0020,0x0031,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x002E,0x00 }
    , { 0x0049,0x0066,0x0020,0x0061,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0047,0x0072,0x006F,0x0075,0x0070,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x003C,0x0072,0x0065,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x003E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x0074,0x006F,0x0020,0x0069,0x0074,0x0073,0x0065,0x006C,0x0066,0x002C,0x0020,0x0073,0x0075,0x0063,0x0068,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0078,0x0061,0x0063,0x0074,0x006C,0x0079,0x0020,0x0031,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0066,0x006F,0x0072,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x003A,0x007B,0x0031,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x005F,0x0045,0x006E,0x0064,0x00 }
    , { 0x0046,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x0020,0x006F,0x0072,0x0020,0x0043,0x0044,0x0041,0x0054,0x0041,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006E,0x0061,0x006D,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x00 }
    , { 0x0052,0x0065,0x0070,0x0065,0x0074,0x0069,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0066,0x0020,0x0069,0x006E,0x0064,0x0069,0x0076,0x0069,0x0064,0x0075,0x0061,0x006C,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0066,0x006F,0x0072,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0073,0x00 }
    , { 0x0042,0x0061,0x0064,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002C,0x0020,0x0061,0x0073,0x0073,0x0075,0x006D,0x0069,0x006E,0x0067,0x0020,0x0023,0x0049,0x004D,0x0050,0x004C,0x0049,0x0045,0x0044,0x0020,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006C,0x0069,0x0073,0x0074,0x0020,0x0073,0x0079,0x006E,0x0074,0x0061,0x0078,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0073,0x0069,0x0067,0x006E,0x00 }
    , { 0x0044,0x0075,0x0070,0x006C,0x0069,0x0063,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006E,0x0061,0x006D,0x0065,0x00 }
    , { 0x0042,0x0061,0x0064,0x0020,0x0049,0x0044,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0066,0x006F,0x0072,0x0020,0x0078,0x006D,0x006C,0x003A,0x006C,0x0061,0x006E,0x0067,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006E,0x0061,0x006D,0x0065,0x00 }
    , { 0x004D,0x0075,0x0073,0x0074,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0061,0x006E,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x00 }
    , { 0x0043,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x003C,0x0021,0x002D,0x002D,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0075,0x0072,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x0027,0x0076,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x003D,0x0027,0x002C,0x0020,0x0027,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x003D,0x0027,0x002C,0x0020,0x006F,0x0072,0x0020,0x0027,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x003D,0x0027,0x00 }
    , { 0x0042,0x0061,0x0064,0x0020,0x0058,0x004D,0x004C,0x0020,0x0076,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0055,0x006E,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0058,0x004D,0x004C,0x0020,0x0076,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0058,0x004D,0x004C,0x0020,0x0064,0x0065,0x0063,0x006C,0x00 }
    , { 0x0042,0x0061,0x0064,0x0020,0x0058,0x004D,0x004C,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0042,0x0061,0x0064,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x0050,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x0069,0x006E,0x0067,0x0020,0x0069,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0070,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x0069,0x006E,0x0067,0x0020,0x0069,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0028,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x003A,0x0020,0x0030,0x0078,0x007B,0x0030,0x007D,0x0029,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0074,0x0065,0x0078,0x0074,0x0020,0x0062,0x0065,0x0066,0x006F,0x0072,0x0065,0x0020,0x0072,0x006F,0x006F,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0074,0x0061,0x0067,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x0074,0x0061,0x0067,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0028,0x0043,0x0044,0x0041,0x0054,0x0041,0x002C,0x0020,0x0049,0x0044,0x002C,0x0020,0x004E,0x004D,0x0054,0x004F,0x004B,0x0045,0x004E,0x002C,0x0020,0x002E,0x002E,0x0029,0x002C,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006F,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0061,0x0067,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0074,0x0061,0x0067,0x0020,0x006E,0x0061,0x006D,0x0065,0x002C,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x002C,0x0020,0x0050,0x0049,0x002C,0x0020,0x006F,0x0072,0x0020,0x006F,0x0074,0x0068,0x0065,0x0072,0x0020,0x006D,0x0061,0x0072,0x006B,0x0075,0x0070,0x00 }
    , { 0x004E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0061,0x0066,0x0074,0x0065,0x0072,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x0020,0x006F,0x0072,0x0020,0x0070,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x0069,0x006E,0x0067,0x0020,0x0069,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x004E,0x006F,0x0020,0x0072,0x006F,0x006F,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0044,0x004F,0x0043,0x0054,0x0059,0x0050,0x0045,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0071,0x0075,0x006F,0x0074,0x0065,0x0064,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0070,0x0075,0x0062,0x006C,0x0069,0x0063,0x0020,0x0069,0x0064,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0069,0x006E,0x0020,0x0070,0x0075,0x0062,0x006C,0x0069,0x0063,0x0020,0x0069,0x0064,0x0020,0x0028,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x003A,0x0020,0x0030,0x0078,0x007B,0x0030,0x007D,0x0029,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0044,0x004F,0x0043,0x0054,0x0059,0x0050,0x0045,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0069,0x006E,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x0020,0x0028,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x003A,0x0020,0x0030,0x0078,0x007B,0x0030,0x007D,0x0029,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0043,0x0044,0x0041,0x0054,0x0041,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0069,0x006E,0x0069,0x0074,0x0069,0x0061,0x006C,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0069,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0028,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x003A,0x0020,0x0030,0x0078,0x007B,0x0030,0x007D,0x0029,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x006D,0x0061,0x0072,0x006B,0x0075,0x0070,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0054,0x0065,0x0078,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006E,0x006F,0x0074,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0043,0x006F,0x006E,0x0064,0x0069,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x006E,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0070,0x0061,0x0072,0x0061,0x006D,0x0065,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x006E,0x0061,0x006D,0x0065,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x00 }
    , { 0x0045,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0055,0x006E,0x0070,0x0061,0x0072,0x0073,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0074,0x0079,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0073,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x00 }
    , { 0x0052,0x0065,0x0063,0x0075,0x0072,0x0073,0x0069,0x0076,0x0065,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0065,0x0078,0x0070,0x0061,0x006E,0x0073,0x0069,0x006F,0x006E,0x00 }
    , { 0x0050,0x0061,0x0072,0x0074,0x0069,0x0061,0x006C,0x0020,0x006D,0x0061,0x0072,0x006B,0x0075,0x0070,0x0020,0x0069,0x006E,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0063,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0073,0x0074,0x0065,0x0072,0x0069,0x0073,0x006B,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0073,0x0079,0x0073,0x0074,0x0065,0x006D,0x0020,0x0069,0x0064,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0073,0x0079,0x0073,0x0074,0x0065,0x006D,0x0020,0x006F,0x0072,0x0020,0x0070,0x0075,0x0062,0x006C,0x0069,0x0063,0x0020,0x0069,0x0064,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0027,0x002C,0x0027,0x002C,0x0020,0x0027,0x007C,0x0027,0x002C,0x0020,0x006F,0x0072,0x0020,0x0027,0x0029,0x0027,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0073,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0027,0x007C,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0029,0x0027,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0073,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0027,0x002C,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0029,0x0027,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0073,0x0020,0x006F,0x0072,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0020,0x0070,0x0061,0x0072,0x0065,0x006E,0x0074,0x0068,0x0065,0x0073,0x0069,0x0073,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x006F,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x007C,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0073,0x0065,0x0070,0x0061,0x0072,0x0061,0x0074,0x006F,0x0072,0x002C,0x0020,0x006F,0x0072,0x0020,0x0063,0x006C,0x006F,0x0073,0x0069,0x006E,0x0067,0x0020,0x0070,0x0061,0x0072,0x0065,0x006E,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x006C,0x0069,0x0074,0x0065,0x0072,0x0061,0x006C,0x00 }
    , { 0x0054,0x0068,0x0065,0x0072,0x0065,0x0020,0x0061,0x0072,0x0065,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x0074,0x0061,0x0067,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0074,0x0061,0x0067,0x0073,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0070,0x0061,0x0072,0x0065,0x006E,0x0074,0x0068,0x0065,0x0073,0x0069,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0041,0x0020,0x0027,0x003C,0x0027,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0020,0x0074,0x0068,0x0072,0x006F,0x0075,0x0067,0x0068,0x0020,0x0026,0x006C,0x0074,0x003B,0x00 }
    , { 0x0041,0x0020,0x006C,0x0065,0x0061,0x0064,0x0069,0x006E,0x0067,0x0020,0x0073,0x0075,0x0072,0x0072,0x006F,0x0067,0x0061,0x0074,0x0065,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0061,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0073,0x0065,0x0063,0x006F,0x006E,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0027,0x005D,0x005D,0x003E,0x0027,0x0020,0x0074,0x006F,0x0020,0x0065,0x006E,0x0064,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0064,0x0069,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0049,0x004E,0x0043,0x004C,0x0055,0x0044,0x0045,0x0020,0x006F,0x0072,0x0020,0x0049,0x0047,0x004E,0x004F,0x0052,0x0045,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x005B,0x0020,0x0074,0x006F,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0020,0x0049,0x004E,0x0043,0x004C,0x0055,0x0044,0x0045,0x0020,0x006F,0x0072,0x0020,0x0049,0x0047,0x004E,0x004F,0x0052,0x0045,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x0054,0x0065,0x0078,0x0074,0x0044,0x0065,0x0063,0x006C,0x0020,0x0068,0x0065,0x0072,0x0065,0x003A,0x0020,0x003C,0x003F,0x0078,0x006D,0x006C,0x0020,0x002E,0x002E,0x002E,0x002E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x0020,0x0068,0x0065,0x0072,0x0065,0x003A,0x0020,0x003C,0x003F,0x0078,0x006D,0x006C,0x0020,0x002E,0x002E,0x002E,0x002E,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0041,0x0020,0x0050,0x0045,0x0020,0x0070,0x0072,0x006F,0x0070,0x006F,0x0067,0x0061,0x0074,0x0065,0x0064,0x0020,0x006F,0x0075,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0074,0x002F,0x0065,0x0078,0x0074,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x002C,0x0020,0x0064,0x0069,0x0073,0x0063,0x0061,0x0072,0x0064,0x0069,0x006E,0x0067,0x0020,0x0065,0x0078,0x0074,0x0072,0x0061,0x0020,0x0074,0x0065,0x0078,0x0074,0x00 }
    , { 0x0041,0x006E,0x0020,0x0065,0x0078,0x0074,0x0072,0x0061,0x0020,0x005D,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0061,0x006E,0x0020,0x0069,0x0067,0x006E,0x006F,0x0072,0x0065,0x0064,0x00 }
    , { 0x0050,0x0045,0x0020,0x0072,0x0065,0x0066,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0073,0x0069,0x0064,0x0065,0x0020,0x006D,0x0061,0x0072,0x006B,0x0075,0x0070,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x00 }
    , { 0x0041,0x006E,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0070,0x0072,0x006F,0x0070,0x006F,0x0067,0x0061,0x0074,0x0065,0x0064,0x0020,0x006F,0x0075,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x006E,0x0074,0x006F,0x0020,0x004D,0x0069,0x0073,0x0063,0x0065,0x006C,0x006C,0x0061,0x006E,0x0065,0x006F,0x0075,0x0073,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0026,0x0023,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0061,0x0020,0x006E,0x0075,0x006D,0x0065,0x0072,0x0069,0x0063,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0062,0x0072,0x0061,0x0063,0x006B,0x0065,0x0074,0x0020,0x0028,0x0027,0x005B,0x0027,0x0029,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x0020,0x0027,0x005D,0x005D,0x003E,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0064,0x0061,0x0074,0x0061,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x0020,0x0027,0x002D,0x002D,0x0027,0x0020,0x0069,0x006E,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0043,0x0044,0x0041,0x0054,0x0041,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x004E,0x0044,0x0041,0x0054,0x0041,0x00 }
    , { 0x004E,0x0044,0x0041,0x0054,0x0041,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0066,0x006F,0x0072,0x0020,0x0070,0x0061,0x0072,0x0061,0x006D,0x0065,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0069,0x0065,0x0073,0x00 }
    , { 0x0048,0x0065,0x0078,0x0020,0x0072,0x0061,0x0064,0x0069,0x0078,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0072,0x0065,0x0066,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0075,0x0073,0x0065,0x0020,0x0027,0x0078,0x0027,0x002C,0x0020,0x006E,0x006F,0x0074,0x0020,0x0027,0x0058,0x0027,0x00 }
    , { 0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0073,0x0065,0x0074,0x002E,0x0020,0x0049,0x0067,0x006E,0x006F,0x0072,0x0069,0x006E,0x0067,0x0020,0x0072,0x0065,0x0064,0x0075,0x006E,0x0064,0x0061,0x006E,0x0074,0x0020,0x0073,0x0065,0x0074,0x0074,0x0069,0x006E,0x0067,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006F,0x0072,0x0064,0x0065,0x0072,0x003A,0x0020,0x0076,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x002C,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x002C,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x00 }
    , { 0x0045,0x0078,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0069,0x0065,0x0073,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0072,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0058,0x004D,0x004C,0x0020,0x006F,0x0072,0x0020,0x0054,0x0065,0x0078,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0027,0x003C,0x003F,0x0078,0x006D,0x006C,0x0020,0x0027,0x002C,0x0020,0x006E,0x006F,0x0074,0x0020,0x0027,0x003C,0x003F,0x0058,0x004D,0x004C,0x0020,0x0027,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0061,0x0020,0x006C,0x0069,0x0074,0x0065,0x0072,0x0061,0x006C,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0072,0x0020,0x0050,0x0055,0x0042,0x004C,0x0049,0x0043,0x002F,0x0053,0x0059,0x0053,0x0054,0x0045,0x004D,0x0020,0x0069,0x0064,0x00 }
    , { 0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0064,0x0069,0x0063,0x0061,0x0074,0x0065,0x0064,0x0020,0x0072,0x0061,0x0064,0x0069,0x0078,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0070,0x0075,0x0074,0x0020,0x0065,0x006E,0x0064,0x0065,0x0064,0x0020,0x0062,0x0065,0x0066,0x006F,0x0072,0x0065,0x0020,0x0061,0x006C,0x006C,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0065,0x0064,0x0020,0x0074,0x0061,0x0067,0x0073,0x0020,0x0077,0x0065,0x0072,0x0065,0x0020,0x0065,0x006E,0x0064,0x0065,0x0064,0x002E,0x0020,0x004C,0x0061,0x0073,0x0074,0x0020,0x0074,0x0061,0x0067,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0065,0x0064,0x0020,0x0077,0x0061,0x0073,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0061,0x006D,0x0062,0x0069,0x0067,0x0075,0x006F,0x0075,0x0073,0x00 }
    , { 0x004E,0x0065,0x0073,0x0074,0x0065,0x0064,0x0020,0x0043,0x0044,0x0041,0x0054,0x0041,0x0020,0x0073,0x0065,0x0063,0x0074,0x0069,0x006F,0x006E,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0072,0x0065,0x0066,0x0069,0x0078,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x006D,0x0061,0x0070,0x0070,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0061,0x006E,0x0079,0x0020,0x0055,0x0052,0x0049,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0061,0x006E,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x0074,0x0061,0x0067,0x0020,0x0077,0x0065,0x0072,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0069,0x0065,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006D,0x0061,0x0069,0x006E,0x0020,0x0058,0x004D,0x004C,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x00 }
    , { 0x0043,0x0044,0x0041,0x0054,0x0041,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x006F,0x0075,0x0074,0x0073,0x0069,0x0064,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0072,0x006F,0x006F,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x00 }
    , { 0x004F,0x006E,0x006C,0x0079,0x0020,0x006E,0x0075,0x006D,0x0065,0x0072,0x0069,0x0063,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0069,0x0065,0x0073,0x0020,0x006F,0x0072,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0061,0x006C,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0069,0x0065,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0047,0x006F,0x0074,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0074,0x0072,0x0061,0x0069,0x006C,0x0069,0x006E,0x0067,0x0020,0x0073,0x0075,0x0072,0x0072,0x006F,0x0067,0x0061,0x0074,0x0065,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x004E,0x006F,0x0020,0x0070,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x0069,0x006E,0x0067,0x0020,0x0069,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0073,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0027,0x0078,0x006D,0x006C,0x0027,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0058,0x004D,0x004C,0x0020,0x006F,0x0072,0x0020,0x0054,0x0065,0x0078,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0061,0x0074,0x0020,0x006C,0x0069,0x006E,0x0065,0x002F,0x0063,0x006F,0x006C,0x0075,0x006D,0x006E,0x0020,0x0031,0x002F,0x0031,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0076,0x0065,0x0072,0x0073,0x0069,0x006F,0x006E,0x003D,0x0027,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0069,0x0073,0x0020,0x0072,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x006E,0x0020,0x0058,0x004D,0x004C,0x0044,0x0065,0x0063,0x006C,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x003D,0x0027,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0069,0x0073,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0061,0x0069,0x006E,0x0020,0x0058,0x004D,0x004C,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0027,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x003D,0x0027,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0069,0x0073,0x0020,0x0072,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x006E,0x0020,0x0054,0x0065,0x0078,0x0074,0x0020,0x0044,0x0065,0x0063,0x006C,0x00 }
    , { 0x0057,0x0068,0x0065,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x0065,0x006E,0x0061,0x0062,0x006C,0x0065,0x0064,0x002C,0x0020,0x0061,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0063,0x0061,0x006E,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x006F,0x006E,0x0065,0x0020,0x0063,0x006F,0x006C,0x006F,0x006E,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0057,0x0068,0x0065,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x0065,0x006E,0x0061,0x0062,0x006C,0x0065,0x0064,0x002C,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006C,0x006F,0x006E,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0066,0x0069,0x0072,0x0073,0x0074,0x0020,0x006F,0x0072,0x0020,0x006C,0x0061,0x0073,0x0074,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0043,0x006F,0x006C,0x006F,0x006E,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0077,0x0068,0x0065,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x0065,0x006E,0x0061,0x0062,0x006C,0x0065,0x0064,0x00 }
    , { 0x0041,0x0020,0x0073,0x0079,0x0073,0x0074,0x0065,0x006D,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0065,0x0064,0x0020,0x0064,0x0075,0x0072,0x0069,0x006E,0x0067,0x0020,0x0070,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x0069,0x006E,0x0067,0x00 }
    , { 0x0041,0x006E,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0065,0x0064,0x0021,0x0020,0x0054,0x0079,0x0070,0x0065,0x003A,0x007B,0x0030,0x007D,0x002C,0x0020,0x004D,0x0065,0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x007B,0x0031,0x007D,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0069,0x006F,0x006E,0x002E,0x0020,0x004D,0x0065,0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0045,0x0072,0x0072,0x006F,0x0072,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x004C,0x006F,0x0063,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0020,0x0070,0x0061,0x0069,0x0072,0x0073,0x0020,0x006F,0x0066,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x002E,0x00 }
    , { 0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0064,0x006F,0x006E,0x0027,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x0047,0x0072,0x0061,0x006D,0x006D,0x0061,0x0072,0x0052,0x0065,0x0073,0x006F,0x006C,0x0076,0x0065,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0054,0x0072,0x0061,0x0076,0x0065,0x0072,0x0073,0x0065,0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0046,0x0061,0x0074,0x0061,0x006C,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x0020,0x0064,0x0075,0x0072,0x0069,0x006E,0x0067,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0073,0x0063,0x0061,0x006E,0x00 }
    , { 0x0046,0x005F,0x0045,0x006E,0x0064,0x00 }
  
  };
  const unsigned int gXMLErrArraySize = 271;
  
  const XMLCh gXMLValidityArray[][128] = 
  {
      { 0x0045,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x00 }
    , { 0x004E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0052,0x006F,0x006F,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0044,0x004F,0x0043,0x0054,0x0059,0x0050,0x0045,0x00 }
    , { 0x0052,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0070,0x0072,0x006F,0x0076,0x0069,0x0064,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x003A,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0049,0x0044,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0023,0x0049,0x004D,0x0050,0x004C,0x0049,0x0045,0x0044,0x0020,0x006F,0x0072,0x0020,0x0023,0x0052,0x0045,0x0051,0x0055,0x0049,0x0052,0x0045,0x0044,0x00 }
    , { 0x0054,0x0068,0x0069,0x0073,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x006E,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x006E,0x0065,0x0020,0x0049,0x0044,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 }
    , { 0x0049,0x0044,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0075,0x0073,0x0065,0x0064,0x00 }
    , { 0x0049,0x0044,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0064,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0073,0x0020,0x0074,0x006F,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0044,0x004F,0x0043,0x0054,0x0059,0x0050,0x0045,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 }
    , { 0x0045,0x006D,0x0070,0x0074,0x0079,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x003A,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0073,0x0020,0x006F,0x0066,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0045,0x004E,0x0054,0x0049,0x0054,0x0059,0x002F,0x0045,0x004E,0x0054,0x0049,0x0054,0x0049,0x0045,0x0053,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0020,0x0074,0x006F,0x0020,0x0061,0x006E,0x0020,0x0065,0x0078,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x002C,0x0020,0x0075,0x006E,0x0070,0x0061,0x0072,0x0073,0x0065,0x0064,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0073,0x0020,0x0074,0x006F,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x004E,0x006F,0x0074,0x0020,0x0065,0x006E,0x006F,0x0075,0x0067,0x0068,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x0074,0x006F,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x003A,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x004E,0x006F,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0064,0x0061,0x0074,0x0061,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0069,0x0074,0x0073,0x0020,0x0064,0x0065,0x0066,0x0069,0x006E,0x0065,0x0064,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0072,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006C,0x0069,0x0073,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0020,0x006F,0x0072,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0074,0x006F,0x006B,0x0065,0x006E,0x0073,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0020,0x006D,0x0075,0x006C,0x0074,0x0069,0x0070,0x006C,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x002C,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x002C,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0069,0x0074,0x0073,0x0020,0x0023,0x0046,0x0049,0x0058,0x0045,0x0044,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x002C,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0073,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0064,0x0075,0x0070,0x006C,0x0069,0x0063,0x0061,0x0074,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x004D,0x0069,0x0078,0x0065,0x0064,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0073,0x00 }
    , { 0x004E,0x006F,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0049,0x006E,0x0063,0x006F,0x0072,0x0072,0x0065,0x0063,0x0074,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0027,0x0074,0x0065,0x0078,0x0074,0x004F,0x006E,0x006C,0x0079,0x0027,0x0020,0x0069,0x0066,0x0020,0x0079,0x006F,0x0075,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0079,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x0075,0x006E,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x00 }
    , { 0x004E,0x0065,0x0073,0x0074,0x0065,0x0064,0x0020,0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0064,0x0065,0x0063,0x006C,0x0073,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x004F,0x006E,0x006C,0x0079,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0073,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x0020,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x004F,0x006E,0x006C,0x0079,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x004F,0x006E,0x006C,0x0079,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x006F,0x0072,0x0064,0x0065,0x0072,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x006C,0x002E,0x00 }
    , { 0x0044,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0072,0x0073,0x0020,0x0063,0x0061,0x006E,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x0066,0x0020,0x0079,0x006F,0x0075,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0079,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0072,0x0020,0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x002E,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x007B,0x0030,0x007D,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006F,0x006E,0x0065,0x0020,0x006F,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x002C,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x002C,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0047,0x0072,0x006F,0x0075,0x0070,0x0052,0x0065,0x0066,0x002E,0x0020,0x0053,0x0061,0x0077,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x007B,0x0031,0x007D,0x002E,0x00 }
    , { 0x0043,0x0061,0x006E,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x006F,0x006E,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0073,0x002E,0x00 }
    , { 0x0041,0x0020,0x003C,0x007B,0x0030,0x007D,0x003E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0072,0x0065,0x0066,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x002C,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0049,0x006E,0x0063,0x006F,0x0072,0x0072,0x0065,0x0063,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x0027,0x0073,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x003A,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0069,0x006E,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x002E,0x00 }
    , { 0x0044,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0054,0x0079,0x0070,0x0065,0x003A,0x007B,0x0030,0x007D,0x002C,0x0020,0x004D,0x0065,0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x007B,0x0031,0x007D,0x002E,0x00 }
    , { 0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0054,0x0079,0x0070,0x0065,0x003A,0x007B,0x0030,0x007D,0x002C,0x0020,0x004D,0x0065,0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x007B,0x0031,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0050,0x0072,0x006F,0x0068,0x0069,0x0062,0x0069,0x0074,0x0065,0x0064,0x0020,0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0069,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x002E,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0078,0x006D,0x006C,0x003A,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0062,0x006F,0x006F,0x006C,0x0065,0x0061,0x006E,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0064,0x0065,0x0063,0x0069,0x006D,0x0061,0x006C,0x002E,0x00 }
    , { 0x0046,0x0061,0x0063,0x0065,0x0074,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x0069,0x006E,0x0063,0x006F,0x006E,0x0073,0x0069,0x0073,0x0074,0x0065,0x006E,0x0074,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x002E,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x0066,0x006F,0x0072,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x007B,0x0031,0x007D,0x002E,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0064,0x0065,0x0063,0x0069,0x006D,0x0061,0x006C,0x0020,0x0074,0x0079,0x0070,0x0065,0x002E,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x003A,0x0020,0x007B,0x0030,0x007D,0x002E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0045,0x006E,0x0075,0x006D,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0061,0x006E,0x0074,0x003A,0x0020,0x007B,0x0030,0x007D,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006F,0x0075,0x0074,0x0020,0x006F,0x0066,0x0020,0x0062,0x006F,0x0075,0x006E,0x0064,0x0073,0x003A,0x005B,0x0020,0x007B,0x0031,0x007D,0x0020,0x007B,0x0033,0x007D,0x0020,0x0058,0x0020,0x0020,0x007B,0x0034,0x007D,0x0020,0x007B,0x0032,0x007D,0x0020,0x005D,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x006E,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0065,0x006E,0x0075,0x006D,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0073,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x002E,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0064,0x006F,0x0075,0x0062,0x006C,0x0065,0x002E,0x00 }
    , { 0x0049,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0052,0x0065,0x0061,0x006C,0x0020,0x0074,0x0079,0x0070,0x0065,0x002E,0x00 }
    , { 0x0053,0x0063,0x0061,0x006C,0x0065,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0050,0x0072,0x0065,0x0063,0x0069,0x0073,0x0069,0x006F,0x006E,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0065,0x0078,0x0063,0x0065,0x0065,0x0064,0x0065,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0070,0x0072,0x0065,0x0063,0x0069,0x0073,0x0069,0x006F,0x006E,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0065,0x0078,0x0065,0x0063,0x0065,0x0065,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0063,0x0061,0x006C,0x0065,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0066,0x006C,0x006F,0x0061,0x0074,0x002E,0x00 }
    , { 0x0043,0x0061,0x006E,0x0027,0x0074,0x0020,0x0067,0x0065,0x0074,0x0020,0x0062,0x0061,0x0063,0x006B,0x0020,0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0027,0x0073,0x0020,0x0072,0x006F,0x006F,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x002E,0x00 }
    , { 0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0069,0x006E,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x0020,0x006E,0x0061,0x006D,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x006F,0x006E,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0073,0x0074,0x0061,0x006E,0x0063,0x0065,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0031,0x007D,0x002E,0x00 }
    , { 0x0049,0x006E,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x003A,0x0020,0x0043,0x0061,0x006E,0x0020,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0072,0x0065,0x006E,0x0020,0x0077,0x0069,0x0074,0x0068,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0054,0x0068,0x0069,0x0073,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0074,0x0079,0x0070,0x0065,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x006F,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x002E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0072,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0020,0x0047,0x0072,0x0061,0x006D,0x006D,0x0061,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0075,0x0072,0x0069,0x003A,0x0020,0x007B,0x0030,0x007D,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x00 }
    , { 0x0078,0x0073,0x0069,0x003A,0x006E,0x0069,0x006C,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x006E,0x0069,0x006C,0x006C,0x0061,0x0062,0x006C,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0073,0x0020,0x0066,0x0061,0x006C,0x0073,0x0065,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0078,0x0073,0x0069,0x003A,0x006E,0x0069,0x006C,0x003D,0x0074,0x0072,0x0075,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x00 }
    , { 0x0043,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006F,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0064,0x0069,0x0066,0x0066,0x0065,0x0072,0x0065,0x006E,0x0074,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0027,0x0073,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x002E,0x00 }
    , { 0x004E,0x006F,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0077,0x0061,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x007B,0x0030,0x007D,0x002E,0x00 }
    , { 0x0053,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0064,0x0075,0x0072,0x0069,0x006E,0x0067,0x0020,0x0070,0x0061,0x0072,0x0073,0x0069,0x006E,0x0067,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x0062,0x0065,0x0020,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x0062,0x0065,0x0020,0x0075,0x006E,0x002D,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0064,0x00 }
    , { 0x0052,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x0074,0x006F,0x0020,0x0065,0x0078,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0063,0x0068,0x0061,0x006E,0x0067,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x006E,0x006F,0x0072,0x006D,0x0061,0x006C,0x0069,0x007A,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0057,0x0068,0x0069,0x0074,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0020,0x0062,0x0065,0x0074,0x0077,0x0065,0x0065,0x006E,0x0020,0x0065,0x0078,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x006C,0x0079,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x006C,0x006F,0x006E,0x0065,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x002E,0x00 }
    , { 0x0045,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0050,0x0061,0x0072,0x0074,0x0069,0x0061,0x006C,0x0020,0x006D,0x0061,0x0072,0x006B,0x0075,0x0070,0x0020,0x0069,0x006E,0x0020,0x0070,0x0061,0x0072,0x0061,0x006D,0x0065,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0072,0x0065,0x0070,0x006C,0x0061,0x0063,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0074,0x0065,0x0078,0x0074,0x002E,0x00 }
    , { 0x0046,0x0061,0x0069,0x006C,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0076,0x0069,0x006F,0x006C,0x0061,0x0074,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0055,0x006E,0x0069,0x0071,0x0075,0x0065,0x0020,0x0050,0x0061,0x0072,0x0074,0x0069,0x0063,0x006C,0x0065,0x0020,0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0069,0x006F,0x006E,0x0020,0x0072,0x0075,0x006C,0x0065,0x00 }
    , { 0x0041,0x0062,0x0073,0x0074,0x0072,0x0061,0x0063,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0078,0x0073,0x0069,0x003A,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0041,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0020,0x006F,0x0066,0x0020,0x0061,0x0062,0x0073,0x0074,0x0072,0x0061,0x0063,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0061,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x0062,0x0073,0x0074,0x0072,0x0061,0x0063,0x0074,0x002E,0x0020,0x0020,0x0055,0x0073,0x0065,0x0020,0x0078,0x0073,0x0069,0x003A,0x0074,0x0079,0x0070,0x0065,0x0020,0x0074,0x006F,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0079,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x002D,0x0061,0x0062,0x0073,0x0074,0x0072,0x0061,0x0063,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0055,0x006E,0x0072,0x0065,0x0073,0x006F,0x006C,0x0076,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0078,0x0073,0x0069,0x003A,0x0074,0x0079,0x0070,0x0065,0x0020,0x0068,0x0061,0x006E,0x0064,0x006C,0x0069,0x006E,0x0067,0x00 }
    , { 0x0054,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0074,0x0068,0x0061,0x0074,0x0020,0x0069,0x0073,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0078,0x0073,0x0069,0x003A,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0072,0x0069,0x0076,0x0065,0x0064,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006F,0x0066,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0068,0x0061,0x0073,0x0020,0x0062,0x006C,0x006F,0x0063,0x006B,0x0069,0x006E,0x0067,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0061,0x0069,0x006E,0x0074,0x0020,0x0061,0x006E,0x0064,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0070,0x0065,0x0072,0x006D,0x0069,0x0074,0x0020,0x0073,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x0062,0x0065,0x0020,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0064,0x00 }
    , { 0x0041,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x006F,0x0075,0x006C,0x0064,0x0020,0x0062,0x0065,0x0020,0x0075,0x006E,0x002D,0x0071,0x0075,0x0061,0x006C,0x0069,0x0066,0x0069,0x0065,0x0064,0x00 }
    , { 0x0045,0x005F,0x0045,0x006E,0x0064,0x00 }
  
  };
  const unsigned int gXMLValidityArraySize = 101;
  
  const XMLCh gXMLExceptArray[][128] = 
  {
      { 0x0045,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0069,0x0073,0x0020,0x0062,0x0065,0x0079,0x006F,0x006E,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0061,0x0072,0x0072,0x0061,0x0079,0x0020,0x0062,0x006F,0x0075,0x006E,0x0064,0x0073,0x0020,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006E,0x0065,0x0077,0x0020,0x0073,0x0069,0x007A,0x0065,0x0020,0x0069,0x0073,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006F,0x006C,0x0064,0x0020,0x006F,0x006E,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0067,0x0069,0x0076,0x0065,0x006E,0x0020,0x0077,0x0061,0x0073,0x0020,0x0062,0x0065,0x0079,0x006F,0x006E,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0061,0x0078,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0041,0x0074,0x0074,0x0054,0x0079,0x0070,0x0065,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006B,0x006E,0x006F,0x0077,0x006E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0044,0x0065,0x0066,0x0041,0x0074,0x0074,0x0054,0x0079,0x0070,0x0065,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006B,0x006E,0x006F,0x0077,0x006E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0069,0x0074,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0077,0x0061,0x0073,0x0020,0x0062,0x0065,0x0079,0x006F,0x006E,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0065,0x0074,0x0020,0x0073,0x0069,0x007A,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0069,0x0074,0x0020,0x0073,0x0065,0x0074,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0073,0x0069,0x007A,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0020,0x006D,0x0061,0x006E,0x0061,0x0067,0x0065,0x0072,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0070,0x0072,0x006F,0x0076,0x0069,0x0064,0x0065,0x0020,0x0061,0x006E,0x0079,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x006D,0x0061,0x006E,0x0061,0x0067,0x0065,0x0072,0x0027,0x0073,0x0020,0x0070,0x006F,0x006F,0x006C,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x0065,0x0072,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0065,0x006E,0x0020,0x0073,0x0065,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0069,0x006E,0x0061,0x0072,0x0079,0x0020,0x006F,0x0070,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006E,0x006F,0x0064,0x0065,0x0020,0x0068,0x0061,0x0064,0x0020,0x0061,0x0020,0x0075,0x006E,0x0061,0x0072,0x0079,0x0020,0x006E,0x006F,0x0064,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006D,0x0069,0x0078,0x0065,0x0064,0x0020,0x006F,0x0072,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0072,0x0065,0x006E,0x00 }
    , { 0x0050,0x0043,0x0044,0x0041,0x0054,0x0041,0x0020,0x006E,0x006F,0x0064,0x0065,0x0073,0x0020,0x0061,0x0072,0x0065,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x006F,0x0070,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0075,0x006E,0x0061,0x0072,0x0079,0x0020,0x006F,0x0070,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x006E,0x006F,0x0064,0x0065,0x0020,0x0068,0x0061,0x0064,0x0020,0x0061,0x0020,0x0062,0x0069,0x006E,0x0061,0x0072,0x0079,0x0020,0x006E,0x006F,0x0064,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x006D,0x006F,0x0064,0x0065,0x006C,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0072,0x0065,0x006E,0x0074,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0020,0x006E,0x006F,0x0064,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0072,0x0065,0x0061,0x0073,0x006F,0x006E,0x0020,0x0065,0x006E,0x0075,0x006D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x0020,0x0069,0x0073,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0067,0x0069,0x0076,0x0065,0x006E,0x0020,0x0077,0x0061,0x0073,0x0020,0x0062,0x0065,0x0079,0x006F,0x006E,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x0020,0x0074,0x006F,0x0070,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x0020,0x0077,0x0061,0x0073,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x0020,0x0077,0x0068,0x0065,0x006E,0x0020,0x0061,0x0020,0x0070,0x006F,0x0070,0x0020,0x0072,0x0065,0x0071,0x0075,0x0065,0x0073,0x0074,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0020,0x0070,0x0061,0x0072,0x0065,0x006E,0x0074,0x0020,0x006F,0x0070,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0077,0x0061,0x0073,0x0020,0x0072,0x0065,0x0071,0x0075,0x0065,0x0073,0x0074,0x0065,0x0064,0x002C,0x0020,0x0062,0x0075,0x0074,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x006F,0x006E,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x006F,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x006F,0x0072,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x006E,0x006F,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0066,0x0069,0x006C,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0071,0x0075,0x0065,0x0072,0x0079,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x0075,0x0072,0x0072,0x0065,0x006E,0x0074,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0070,0x006F,0x0073,0x0069,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0066,0x0069,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0065,0x0065,0x006B,0x0020,0x0074,0x006F,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0066,0x0069,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0065,0x0065,0x006B,0x0020,0x0074,0x006F,0x0020,0x0072,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x0020,0x0070,0x006F,0x0073,0x0069,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x006E,0x0020,0x0066,0x0069,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0075,0x0070,0x006C,0x0069,0x0063,0x0061,0x0074,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0068,0x0061,0x006E,0x0064,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0072,0x0065,0x0061,0x0064,0x0020,0x0064,0x0061,0x0074,0x0061,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0066,0x0069,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0072,0x0065,0x0073,0x0065,0x0074,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0067,0x0069,0x006E,0x006E,0x0069,0x006E,0x0067,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0063,0x0065,0x0072,0x0074,0x0061,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0073,0x0069,0x007A,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0070,0x0061,0x0074,0x0068,0x006E,0x0061,0x006D,0x0065,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0066,0x0069,0x006C,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0070,0x0061,0x0074,0x0068,0x0020,0x0068,0x0061,0x0064,0x0020,0x0074,0x006F,0x006F,0x0020,0x0066,0x0065,0x0077,0x0020,0x006C,0x0065,0x0076,0x0065,0x006C,0x0073,0x0020,0x0074,0x006F,0x0020,0x0077,0x0065,0x0061,0x0076,0x0065,0x0020,0x0069,0x006E,0x0020,0x0072,0x0065,0x006C,0x0061,0x0074,0x0069,0x0076,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x00 }
    , { 0x0050,0x0061,0x0072,0x0073,0x0065,0x0020,0x006D,0x0061,0x0079,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0063,0x0061,0x006C,0x006C,0x0065,0x0064,0x0020,0x0077,0x0068,0x0069,0x006C,0x0065,0x0020,0x0070,0x0061,0x0072,0x0073,0x0069,0x006E,0x0067,0x00 }
    , { 0x0041,0x0020,0x0044,0x004F,0x0043,0x0054,0x0059,0x0050,0x0045,0x0020,0x0077,0x0061,0x0073,0x0020,0x0073,0x0065,0x0065,0x006E,0x0020,0x0062,0x0075,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0073,0x0074,0x0061,0x006C,0x006C,0x0065,0x0064,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0075,0x006E,0x0064,0x0065,0x0072,0x0073,0x0074,0x0061,0x006E,0x0064,0x0020,0x0044,0x0054,0x0044,0x0073,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0044,0x0054,0x0044,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0065,0x0078,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0069,0x006E,0x0070,0x0075,0x0074,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0068,0x0061,0x0073,0x0068,0x0020,0x006D,0x006F,0x0064,0x0075,0x006C,0x0075,0x0073,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x007A,0x0065,0x0072,0x006F,0x00 }
    , { 0x0048,0x0061,0x0073,0x0068,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x006B,0x0065,0x0079,0x0020,0x0072,0x0065,0x0074,0x0075,0x0072,0x006E,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0062,0x0061,0x0064,0x0020,0x0068,0x0061,0x0073,0x0068,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006B,0x0065,0x0079,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0068,0x0061,0x0073,0x0068,0x0020,0x0074,0x0061,0x0062,0x006C,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0065,0x0020,0x006D,0x0075,0x0074,0x0065,0x0078,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0020,0x006D,0x0075,0x0074,0x0065,0x0078,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x006C,0x006F,0x0063,0x006B,0x0020,0x006D,0x0075,0x0074,0x0065,0x0078,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0075,0x006E,0x006C,0x006F,0x0063,0x006B,0x0020,0x006D,0x0075,0x0074,0x0065,0x0078,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0073,0x0074,0x0072,0x006F,0x0079,0x0020,0x006D,0x0075,0x0074,0x0065,0x0078,0x00 }
    , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x006F,0x006E,0x0020,0x007B,0x0030,0x007D,0x0020,0x004E,0x0065,0x0074,0x0041,0x0063,0x0063,0x0065,0x0073,0x0073,0x006F,0x0072,0x002E,0x0020,0x004D,0x0073,0x0067,0x003A,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x004E,0x0065,0x0074,0x0041,0x0063,0x0063,0x0065,0x0073,0x0073,0x006F,0x0072,0x0020,0x0063,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0069,0x006E,0x0069,0x0074,0x0069,0x0061,0x006C,0x0069,0x007A,0x0065,0x0064,0x002E,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003D,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0068,0x006F,0x0073,0x0074,0x002F,0x0061,0x0064,0x0064,0x0072,0x0065,0x0073,0x0073,0x0020,0x0027,0x0028,0x0030,0x007D,0x0027,0x0020,0x0063,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0072,0x0065,0x0073,0x006F,0x006C,0x0076,0x0065,0x0064,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0065,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x006F,0x0063,0x006B,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0055,0x0052,0x004C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002E,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003D,0x007B,0x0031,0x007D,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x006E,0x006E,0x0065,0x0063,0x0074,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x006F,0x0063,0x006B,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0055,0x0052,0x004C,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002E,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003D,0x007B,0x0031,0x007D,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0077,0x0072,0x0069,0x0074,0x0065,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x006F,0x0063,0x006B,0x0065,0x0074,0x002E,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003D,0x007B,0x0030,0x007D,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0072,0x0065,0x0061,0x0064,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x006F,0x0063,0x006B,0x0065,0x0074,0x002E,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003D,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x007B,0x0030,0x007D,0x0020,0x0061,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0065,0x0078,0x0069,0x0073,0x0074,0x0073,0x00 }
    , { 0x0048,0x0061,0x0073,0x0068,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x006B,0x0065,0x0079,0x0020,0x0072,0x0065,0x0074,0x0075,0x0072,0x006E,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0062,0x0061,0x0064,0x0020,0x0068,0x0061,0x0073,0x0068,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0069,0x0064,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x0070,0x006F,0x006F,0x006C,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006D,0x006F,0x0064,0x0075,0x006C,0x0075,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x007A,0x0065,0x0072,0x006F,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0064,0x0069,0x0063,0x0061,0x0074,0x0065,0x0064,0x0020,0x0072,0x0065,0x0061,0x0064,0x0065,0x0072,0x0020,0x0069,0x0064,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0061,0x0075,0x0074,0x006F,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0065,0x006E,0x0075,0x006D,0x0020,0x0068,0x0061,0x0073,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0064,0x0065,0x0063,0x006F,0x0064,0x0065,0x0020,0x0066,0x0069,0x0072,0x0073,0x0074,0x0020,0x006C,0x0069,0x006E,0x0065,0x0020,0x006F,0x0066,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0045,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0069,0x006E,0x0070,0x0075,0x0074,0x0020,0x0077,0x0061,0x0073,0x0020,0x0068,0x0069,0x0074,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0069,0x0064,0x0064,0x006C,0x0065,0x0020,0x006F,0x0066,0x0020,0x0061,0x0020,0x006D,0x0075,0x006C,0x0074,0x0069,0x0062,0x0079,0x0074,0x0065,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x0075,0x0072,0x0072,0x0065,0x006E,0x0074,0x0020,0x0074,0x0072,0x0061,0x006E,0x0073,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0073,0x0065,0x0072,0x0076,0x0069,0x0063,0x0065,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0020,0x0073,0x006F,0x0075,0x0072,0x0063,0x0065,0x0020,0x006F,0x0066,0x0066,0x0073,0x0065,0x0074,0x0020,0x0069,0x006E,0x0066,0x006F,0x0072,0x006D,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0045,0x0042,0x0043,0x0044,0x0049,0x0043,0x0020,0x0066,0x0069,0x006C,0x0065,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0070,0x0072,0x006F,0x0076,0x0069,0x0064,0x0065,0x0020,0x0061,0x006E,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x003D,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0072,0x0069,0x006D,0x0061,0x0072,0x0079,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0065,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0063,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x006F,0x0070,0x0065,0x006E,0x0065,0x0064,0x002E,0x0020,0x0049,0x0064,0x003D,0x007B,0x0030,0x007D,0x00 }
    , { 0x0055,0x006E,0x0062,0x0061,0x006C,0x0061,0x006E,0x0063,0x0065,0x0064,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x002F,0x0065,0x006E,0x0064,0x0020,0x0074,0x0061,0x0067,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x002C,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x006E,0x0074,0x0069,0x006E,0x0075,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0063,0x0061,0x006C,0x006C,0x0020,0x0074,0x006F,0x0020,0x0073,0x0063,0x0061,0x006E,0x004E,0x0065,0x0078,0x0074,0x0028,0x0029,0x0020,0x0069,0x0073,0x0020,0x0069,0x006C,0x006C,0x0065,0x0067,0x0061,0x006C,0x0020,0x0061,0x0074,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x0074,0x0069,0x006D,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0069,0x0073,0x0020,0x0070,0x0061,0x0073,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0074,0x006F,0x0070,0x0020,0x006F,0x0066,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0063,0x006B,0x0020,0x0069,0x0073,0x0020,0x0065,0x006D,0x0070,0x0074,0x0079,0x002C,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0061,0x0063,0x0063,0x0065,0x0073,0x0073,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x0020,0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0061,0x0020,0x006D,0x0061,0x0078,0x0020,0x0073,0x0069,0x007A,0x0065,0x0020,0x006F,0x0066,0x0020,0x007A,0x0065,0x0072,0x006F,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0067,0x0069,0x0076,0x0065,0x006E,0x0020,0x0072,0x0061,0x0064,0x0069,0x0078,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x002E,0x0020,0x0055,0x0073,0x0065,0x0020,0x0032,0x002C,0x0020,0x0038,0x002C,0x0020,0x0031,0x0030,0x002C,0x0020,0x006F,0x0072,0x0020,0x0031,0x0036,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x0020,0x0062,0x0075,0x0066,0x0066,0x0065,0x0072,0x0020,0x0069,0x0073,0x0020,0x0074,0x006F,0x006F,0x0020,0x0073,0x006D,0x0061,0x006C,0x006C,0x0020,0x0074,0x006F,0x0020,0x0061,0x0063,0x0063,0x0065,0x0070,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0072,0x0065,0x0073,0x0075,0x006C,0x0074,0x0073,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0069,0x0073,0x0020,0x0070,0x0061,0x0073,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0072,0x0065,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0065,0x0064,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0076,0x0065,0x0072,0x0066,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0074,0x0068,0x0065,0x0020,0x006F,0x0075,0x0074,0x0070,0x0075,0x0074,0x0020,0x0062,0x0069,0x006E,0x0061,0x0072,0x0079,0x0020,0x0072,0x0065,0x0073,0x0075,0x006C,0x0074,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0077,0x0072,0x0069,0x0074,0x0065,0x0020,0x0074,0x006F,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x0072,0x0064,0x0020,0x0065,0x0072,0x0072,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0077,0x0072,0x0069,0x0074,0x0065,0x0020,0x0074,0x006F,0x0020,0x0073,0x0074,0x0061,0x006E,0x0064,0x0061,0x0072,0x0064,0x0020,0x006F,0x0075,0x0074,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0077,0x0072,0x0069,0x0074,0x0065,0x0020,0x0074,0x006F,0x0020,0x0063,0x006F,0x006E,0x0073,0x006F,0x006C,0x0065,0x00 }
    , { 0x0053,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0070,0x006F,0x006F,0x006C,0x0020,0x0069,0x0064,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006C,0x0065,0x0067,0x0061,0x006C,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0065,0x0020,0x0061,0x0020,0x0064,0x0065,0x0066,0x0061,0x0075,0x006C,0x0074,0x0020,0x0074,0x0072,0x0061,0x006E,0x0073,0x0063,0x006F,0x0064,0x0065,0x0072,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x006D,0x0061,0x0078,0x0069,0x006D,0x0075,0x006D,0x0020,0x0073,0x0069,0x007A,0x0065,0x0020,0x0074,0x006F,0x0020,0x0078,0x006C,0x0061,0x0074,0x0020,0x0069,0x0073,0x0020,0x006C,0x0061,0x0072,0x0067,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x0020,0x0062,0x006C,0x006F,0x0063,0x006B,0x0020,0x0073,0x0069,0x007A,0x0065,0x00 }
    , { 0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0020,0x0063,0x0068,0x0061,0x0072,0x0020,0x0030,0x0078,0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0072,0x0065,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0061,0x0062,0x006C,0x0065,0x0020,0x0069,0x006E,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0043,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0072,0x0065,0x0071,0x0075,0x0065,0x0073,0x0074,0x0065,0x0064,0x0020,0x0062,0x006C,0x006F,0x0063,0x006B,0x0020,0x0073,0x0069,0x007A,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0069,0x007A,0x0065,0x0020,0x0073,0x0065,0x0074,0x0020,0x0064,0x0075,0x0072,0x0069,0x006E,0x0067,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0041,0x006E,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x006D,0x0075,0x006C,0x0074,0x0069,0x002D,0x0062,0x0079,0x0074,0x0065,0x0020,0x0073,0x006F,0x0075,0x0072,0x0063,0x0065,0x0020,0x0074,0x0065,0x0078,0x0074,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x0020,0x0077,0x0061,0x0073,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x00 }
    , { 0x007B,0x0030,0x007D,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x007B,0x0031,0x007D,0x00 }
    , { 0x004C,0x0065,0x0061,0x0064,0x0069,0x006E,0x0067,0x0020,0x0073,0x0075,0x0072,0x0072,0x006F,0x0067,0x0061,0x0074,0x0065,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0074,0x0072,0x0061,0x0069,0x006C,0x0069,0x006E,0x0067,0x00 }
    , { 0x0043,0x006F,0x0075,0x006C,0x0064,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x0072,0x0065,0x0061,0x0074,0x0065,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0076,0x0065,0x0072,0x0074,0x0065,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0055,0x0052,0x004C,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x0072,0x0072,0x0065,0x0063,0x0074,0x006C,0x0079,0x0020,0x0066,0x006F,0x0072,0x006D,0x0065,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0055,0x0052,0x004C,0x0020,0x0075,0x0073,0x0065,0x0064,0x0020,0x0061,0x006E,0x0020,0x0075,0x006E,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0070,0x0072,0x006F,0x0074,0x006F,0x0063,0x006F,0x006C,0x00 }
    , { 0x0055,0x006E,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0055,0x0052,0x004C,0x0020,0x0070,0x0072,0x006F,0x0074,0x006F,0x0063,0x006F,0x006C,0x003A,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x004F,0x006E,0x006C,0x0079,0x0020,0x006C,0x006F,0x0063,0x0061,0x006C,0x0068,0x006F,0x0073,0x0074,0x0020,0x0069,0x0073,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0061,0x0074,0x0020,0x0074,0x0068,0x0069,0x0073,0x0020,0x0074,0x0069,0x006D,0x0065,0x00 }
    , { 0x004E,0x006F,0x0020,0x0070,0x0072,0x006F,0x0074,0x006F,0x0063,0x006F,0x006C,0x0020,0x0070,0x0072,0x0065,0x0066,0x0069,0x0078,0x0020,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x00 }
    , { 0x0045,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x002F,0x002F,0x0020,0x0061,0x0066,0x0074,0x0065,0x0072,0x0020,0x0070,0x0072,0x006F,0x0074,0x006F,0x0063,0x006F,0x006C,0x00 }
    , { 0x0025,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0074,0x0077,0x006F,0x0020,0x0068,0x0065,0x0078,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0073,0x00 }
    , { 0x0055,0x006E,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x0020,0x0068,0x006F,0x0073,0x0074,0x0020,0x0063,0x006F,0x006D,0x0070,0x006F,0x006E,0x0065,0x006E,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0055,0x0052,0x004C,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0072,0x0065,0x006C,0x0061,0x0074,0x0069,0x0076,0x0065,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x0020,0x0068,0x0061,0x0073,0x0020,0x0074,0x006F,0x006F,0x0020,0x0066,0x0065,0x0077,0x0020,0x006C,0x0065,0x0076,0x0065,0x006C,0x0073,0x0020,0x0074,0x006F,0x0020,0x0077,0x0065,0x0061,0x0076,0x0065,0x0020,0x0069,0x006E,0x0020,0x0072,0x0065,0x006C,0x0061,0x0074,0x0069,0x0076,0x0065,0x0020,0x0070,0x0061,0x0072,0x0074,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x006F,0x0072,0x0074,0x0020,0x0066,0x0069,0x0065,0x006C,0x0064,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x0031,0x0036,0x0020,0x0062,0x0069,0x0074,0x0020,0x0064,0x0065,0x0063,0x0069,0x006D,0x0061,0x006C,0x0020,0x006E,0x0075,0x006D,0x0062,0x0065,0x0072,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x0020,0x0069,0x0073,0x0020,0x0070,0x0061,0x0073,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0076,0x0065,0x0063,0x0074,0x006F,0x0072,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0064,0x0020,0x0077,0x0061,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x0057,0x0068,0x0065,0x006E,0x0020,0x0072,0x0065,0x0075,0x0073,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x0047,0x0072,0x0061,0x006D,0x006D,0x0061,0x0072,0x002C,0x0020,0x006E,0x006F,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0073,0x0075,0x0062,0x0073,0x0065,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0070,0x0061,0x0073,0x0073,0x0065,0x0064,0x0020,0x0072,0x0065,0x0063,0x006F,0x0067,0x006E,0x0069,0x007A,0x0065,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0069,0x006E,0x0067,0x0020,0x0077,0x0061,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006B,0x006E,0x006F,0x0077,0x006E,0x00 }
    , { 0x0057,0x0072,0x006F,0x006E,0x0067,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x006E,0x0075,0x006D,0x0062,0x0065,0x0072,0x00 }
    , { 0x0041,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0069,0x0073,0x0020,0x0072,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x0020,0x0061,0x0066,0x0074,0x0065,0x0072,0x0020,0x005C,0x00 }
    , { 0x0027,0x003F,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x002E,0x0020,0x0020,0x0027,0x0028,0x003F,0x003A,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x003D,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x0021,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x003C,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x0023,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x003E,0x0027,0x003F,0x00 }
    , { 0x0027,0x0028,0x003F,0x003C,0x003D,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0028,0x003F,0x003C,0x0021,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0041,0x0020,0x0063,0x006F,0x006D,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0074,0x0065,0x0072,0x006D,0x0069,0x006E,0x0061,0x0074,0x0065,0x0064,0x00 }
    , { 0x0027,0x0029,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0070,0x0061,0x0074,0x0074,0x0065,0x0072,0x006E,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x006D,0x006F,0x0064,0x0069,0x0066,0x0069,0x0065,0x0072,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x00 }
    , { 0x0027,0x003A,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0070,0x0061,0x0074,0x0074,0x0065,0x0072,0x006E,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0064,0x0069,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x00 }
    , { 0x0041,0x0020,0x0062,0x0061,0x0063,0x006B,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x006F,0x0072,0x0020,0x0061,0x006E,0x0020,0x0061,0x006E,0x0063,0x0068,0x006F,0x0072,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x006C,0x006F,0x006F,0x006B,0x0061,0x0068,0x0065,0x0061,0x0064,0x0020,0x006F,0x0072,0x0020,0x0061,0x0020,0x006C,0x006F,0x006F,0x006B,0x0062,0x0065,0x0068,0x0069,0x006E,0x0064,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0064,0x0069,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0070,0x0061,0x0074,0x0074,0x0065,0x0072,0x006E,0x00 }
    , { 0x0054,0x0068,0x0065,0x0072,0x0065,0x0020,0x0061,0x0072,0x0065,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0072,0x0065,0x0065,0x0020,0x0063,0x0068,0x006F,0x0069,0x0073,0x0065,0x0073,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x006F,0x006E,0x0064,0x0069,0x0074,0x0069,0x006F,0x006E,0x0061,0x006C,0x0020,0x0067,0x0072,0x006F,0x0075,0x0070,0x00 }
    , { 0x0041,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0069,0x006E,0x0020,0x0055,0x002B,0x0030,0x0030,0x0034,0x0030,0x002D,0x0055,0x002B,0x0030,0x0030,0x0035,0x0066,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0066,0x006F,0x006C,0x006C,0x006F,0x0077,0x0020,0x005C,0x0063,0x00 }
    , { 0x0041,0x0020,0x0043,0x0061,0x0074,0x0065,0x0067,0x006F,0x0072,0x0079,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x006F,0x0072,0x0020,0x0027,0x007B,0x0027,0x0020,0x0069,0x0073,0x0020,0x0072,0x0065,0x0071,0x0075,0x0069,0x0072,0x0065,0x0064,0x00 }
    , { 0x0041,0x0020,0x0070,0x0072,0x006F,0x0070,0x0065,0x0072,0x0074,0x0079,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0027,0x007D,0x0027,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x006D,0x0065,0x0074,0x0061,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0070,0x0072,0x006F,0x0070,0x0065,0x0072,0x0074,0x0079,0x00 }
    , { 0x0041,0x0020,0x0050,0x004F,0x0053,0x0049,0x0058,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0063,0x006C,0x0061,0x0073,0x0073,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0027,0x003A,0x005D,0x0027,0x00 }
    , { 0x0055,0x006E,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x0020,0x0065,0x006E,0x0064,0x0020,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0070,0x0061,0x0074,0x0074,0x0065,0x0072,0x006E,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0063,0x006C,0x0061,0x0073,0x0073,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x006E,0x0061,0x006D,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0020,0x0050,0x004F,0x0053,0x0049,0x0058,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0063,0x006C,0x0061,0x0073,0x0073,0x00 }
    , { 0x0027,0x002D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0027,0x005D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0027,0x005B,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0065,0x0072,0x0020,0x0063,0x006C,0x0061,0x0073,0x0073,0x002E,0x0020,0x0020,0x0057,0x0072,0x0069,0x0074,0x0065,0x0020,0x0027,0x005C,0x005B,0x0027,0x00 }
    , { 0x0027,0x005D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0065,0x0072,0x0020,0x0063,0x006C,0x0061,0x0073,0x0073,0x002E,0x0020,0x0020,0x0057,0x0072,0x0069,0x0074,0x0065,0x0020,0x0027,0x005C,0x005D,0x0027,0x00 }
    , { 0x003D,0x0027,0x005B,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0027,0x0029,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x002D,0x005B,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x002B,0x005B,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0026,0x005B,0x0027,0x0020,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0065,0x0063,0x0074,0x0065,0x0064,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x0072,0x0061,0x006E,0x0067,0x0065,0x0020,0x0065,0x006E,0x0064,0x0020,0x0063,0x006F,0x0064,0x0065,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0074,0x0061,0x0072,0x0074,0x0020,0x0063,0x006F,0x0064,0x0065,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0020,0x0068,0x0065,0x0078,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x004F,0x0076,0x0065,0x0072,0x0066,0x006C,0x006F,0x0077,0x0020,0x0069,0x006E,0x0020,0x0061,0x0020,0x0068,0x0065,0x0078,0x0020,0x006E,0x006F,0x0074,0x0061,0x0074,0x0069,0x006F,0x006E,0x00 }
    , { 0x0027,0x005C,0x0078,0x007B,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0063,0x006C,0x006F,0x0073,0x0065,0x0064,0x0020,0x0062,0x0079,0x0020,0x0027,0x007D,0x0027,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0055,0x006E,0x0069,0x0063,0x006F,0x0064,0x0065,0x0020,0x0063,0x006F,0x0064,0x0065,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x00 }
    , { 0x0041,0x006E,0x0020,0x0061,0x006E,0x0063,0x0068,0x006F,0x0072,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0068,0x0065,0x0072,0x0065,0x00 }
    , { 0x0054,0x0068,0x0069,0x0073,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x0075,0x0072,0x0072,0x0065,0x006E,0x0074,0x0020,0x006F,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x0073,0x0065,0x0074,0x0074,0x0069,0x006E,0x0067,0x00 }
    , { 0x0052,0x0065,0x0067,0x0075,0x006C,0x0061,0x0072,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x003A,0x0020,0x0075,0x006E,0x0072,0x0065,0x0063,0x006F,0x0067,0x006E,0x0069,0x007A,0x0065,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0061,0x0063,0x0074,0x0065,0x0072,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x006E,0x0020,0x0063,0x0068,0x0061,0x0072,0x0052,0x0061,0x006E,0x0067,0x0065,0x00 }
    , { 0x0041,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x0020,0x0077,0x0061,0x0073,0x0020,0x0073,0x0065,0x0065,0x006E,0x0020,0x0062,0x0075,0x0074,0x0020,0x0074,0x0068,0x0065,0x0020,0x0069,0x006E,0x0073,0x0074,0x0061,0x006C,0x006C,0x0065,0x0064,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0075,0x006E,0x0064,0x0065,0x0072,0x0073,0x0074,0x0061,0x006E,0x0064,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0061,0x00 }
    , { 0x0054,0x0068,0x0065,0x0020,0x007B,0x0030,0x007D,0x0020,0x006E,0x006F,0x0064,0x0065,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0063,0x006F,0x0070,0x0079,0x00 }
    , { 0x0053,0x0075,0x0062,0x0073,0x0074,0x0069,0x0074,0x0075,0x0074,0x0069,0x006F,0x006E,0x0047,0x0072,0x006F,0x0075,0x0070,0x0043,0x006F,0x006D,0x0070,0x0061,0x0072,0x0061,0x0074,0x006F,0x0072,0x0020,0x0068,0x0061,0x0073,0x0020,0x006E,0x006F,0x0020,0x0067,0x0072,0x0061,0x006D,0x006D,0x0061,0x0072,0x0020,0x0072,0x0065,0x0073,0x006F,0x006C,0x0076,0x0065,0x0072,0x00 }
    , { 0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x00 }
    , { 0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x00 }
    , { 0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0073,0x0020,0x006F,0x0066,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0073,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0073,0x0020,0x006F,0x0066,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0073,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0068,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x004F,0x006E,0x006C,0x0079,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0061,0x0069,0x006E,0x0069,0x006E,0x0067,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x0069,0x006E,0x0020,0x0062,0x006F,0x006F,0x006C,0x0065,0x0061,0x006E,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x0020,0x0069,0x0073,0x0020,0x0050,0x0041,0x0054,0x0054,0x0045,0x0052,0x004E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0046,0x0061,0x0063,0x0065,0x0074,0x0020,0x0054,0x0061,0x0067,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x003D,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x006F,0x0066,0x0020,0x0062,0x0061,0x0073,0x0065,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x006F,0x0066,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006F,0x006E,0x0065,0x0020,0x006F,0x0066,0x0020,0x0027,0x0070,0x0072,0x0065,0x0073,0x0065,0x0072,0x0076,0x0065,0x0027,0x002C,0x0020,0x0027,0x0072,0x0065,0x0070,0x006C,0x0061,0x0063,0x0065,0x0027,0x002C,0x0020,0x0027,0x0063,0x006F,0x006C,0x006C,0x0061,0x0070,0x0073,0x0065,0x0027,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x0066,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x003D,0x0020,0x0027,0x0070,0x0072,0x0065,0x0073,0x0065,0x0072,0x0076,0x0065,0x0027,0x0020,0x006F,0x0072,0x0020,0x0027,0x0072,0x0065,0x0070,0x006C,0x0061,0x0063,0x0065,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0062,0x0061,0x0073,0x0065,0x002E,0x0077,0x0068,0x0069,0x0074,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x003D,0x0020,0x0027,0x0063,0x006F,0x006C,0x006C,0x0061,0x0070,0x0073,0x0065,0x0027,0x002E,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x0066,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x003D,0x0020,0x0027,0x0070,0x0072,0x0065,0x0073,0x0065,0x0072,0x0076,0x0065,0x0027,0x0020,0x0061,0x006E,0x0064,0x0020,0x0062,0x0061,0x0073,0x0065,0x002E,0x0077,0x0068,0x0069,0x0074,0x0065,0x0053,0x0070,0x0061,0x0063,0x0065,0x0020,0x003D,0x0020,0x0027,0x0072,0x0065,0x0070,0x006C,0x0061,0x0063,0x0065,0x0027,0x002E,0x00 }
    , { 0x004D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x004D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x004D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x004D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x0054,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x0046,0x0072,0x0061,0x0063,0x0074,0x0069,0x006F,0x006E,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 }
    , { 0x0054,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x00 }
    , { 0x0046,0x0072,0x0061,0x0063,0x0074,0x0069,0x006F,0x006E,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x006E,0x006F,0x006E,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0049,0x006E,0x0074,0x0065,0x0067,0x0065,0x0072,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0049,0x0074,0x0020,0x0069,0x0073,0x0020,0x0061,0x006E,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0066,0x006F,0x0072,0x0020,0x0062,0x006F,0x0074,0x0068,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0061,0x006E,0x0064,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0074,0x006F,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0073,0x0061,0x006D,0x0065,0x0020,0x0064,0x0061,0x0074,0x0061,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0054,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0046,0x0072,0x0061,0x0063,0x0074,0x0069,0x006F,0x006E,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0066,0x0072,0x006F,0x006D,0x0020,0x0074,0x0068,0x0065,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0073,0x0070,0x0061,0x0063,0x0065,0x00 }
    , { 0x0074,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0074,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0066,0x0072,0x0061,0x0063,0x0074,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0074,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0066,0x0072,0x0061,0x0063,0x0074,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0066,0x0072,0x0061,0x0063,0x0074,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x0074,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0074,0x006F,0x0074,0x0061,0x006C,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x0066,0x0072,0x0061,0x0063,0x0074,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0066,0x0072,0x0061,0x0063,0x0074,0x0044,0x0069,0x0067,0x0069,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0061,0x0078,0x004C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006D,0x0069,0x006E,0x004C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x006C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x006C,0x0065,0x006E,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x0062,0x0061,0x0073,0x0065,0x0027,0x0073,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x002C,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x003A,0x0020,0x0066,0x0069,0x0078,0x0065,0x0064,0x00 }
    , { 0x004E,0x0075,0x006C,0x006C,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0069,0x006E,0x0020,0x004C,0x0069,0x0073,0x0074,0x0020,0x00 }
    , { 0x004E,0x0075,0x006C,0x006C,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0073,0x0020,0x0069,0x006E,0x0020,0x0055,0x006E,0x0069,0x006F,0x006E,0x0020,0x00 }
    , { 0x004E,0x0075,0x006C,0x006C,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0020,0x0069,0x006E,0x0020,0x0055,0x006E,0x0069,0x006F,0x006E,0x00 }
    , { 0x0055,0x006E,0x0069,0x006F,0x006E,0x0027,0x0073,0x0020,0x0062,0x0061,0x0073,0x0065,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0061,0x0074,0x006F,0x0072,0x0027,0x0073,0x0020,0x0074,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0075,0x006E,0x0069,0x006F,0x006E,0x0020,0x0074,0x006F,0x006F,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0072,0x0065,0x0067,0x0075,0x006C,0x0061,0x0072,0x0020,0x0065,0x0078,0x0070,0x0072,0x0065,0x0073,0x0073,0x0069,0x006F,0x006E,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0042,0x0061,0x0073,0x0065,0x0036,0x0034,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x006E,0x0063,0x006F,0x0064,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0048,0x0065,0x0078,0x0042,0x0069,0x006E,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0065,0x0078,0x0063,0x0065,0x0065,0x0064,0x0073,0x0020,0x006D,0x0061,0x0078,0x0069,0x006D,0x0075,0x006D,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006D,0x0069,0x006E,0x0069,0x006D,0x0075,0x006D,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x006C,0x0065,0x006E,0x0067,0x0074,0x0068,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0069,0x006E,0x0020,0x0065,0x006E,0x0075,0x006D,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0074,0x006F,0x0074,0x0061,0x006C,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0073,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0065,0x0078,0x0063,0x0065,0x0065,0x0064,0x0073,0x0020,0x0074,0x006F,0x0074,0x0061,0x006C,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0066,0x0072,0x0061,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0073,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0065,0x0078,0x0063,0x0065,0x0065,0x0064,0x0073,0x0020,0x0066,0x0072,0x0061,0x0063,0x0074,0x0069,0x006F,0x006E,0x0020,0x0064,0x0069,0x0067,0x0069,0x0074,0x0020,0x0066,0x0061,0x0063,0x0065,0x0074,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x004D,0x0061,0x0078,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x004D,0x0061,0x0078,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x0072,0x0020,0x0065,0x0071,0x0075,0x0061,0x006C,0x0020,0x0074,0x006F,0x0020,0x004D,0x0069,0x006E,0x0049,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x004D,0x0069,0x006E,0x0045,0x0078,0x0063,0x006C,0x0075,0x0073,0x0069,0x0076,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0072,0x0065,0x0070,0x006C,0x0061,0x0063,0x0065,0x0064,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0020,0x0063,0x006F,0x006C,0x006C,0x0061,0x0070,0x0073,0x0065,0x0064,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x004E,0x0043,0x004E,0x0061,0x006D,0x0065,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x004E,0x0061,0x006D,0x0065,0x0020,0x00 }
    , { 0x0049,0x0044,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0075,0x006E,0x0069,0x0071,0x0075,0x0065,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0045,0x004E,0x0054,0x0049,0x0054,0x0059,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0051,0x004E,0x0061,0x006D,0x0065,0x0020,0x00 }
    , { 0x004E,0x004F,0x0054,0x0041,0x0054,0x0049,0x004F,0x004E,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0051,0x004E,0x0061,0x006D,0x0065,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0064,0x006F,0x0065,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x006D,0x0061,0x0074,0x0063,0x0068,0x0020,0x0061,0x006E,0x0079,0x0020,0x006D,0x0065,0x006D,0x0062,0x0065,0x0072,0x0020,0x0074,0x0079,0x0070,0x0065,0x0073,0x0020,0x0028,0x006F,0x0066,0x0020,0x0074,0x0068,0x0065,0x0020,0x0075,0x006E,0x0069,0x006F,0x006E,0x0029,0x0020,0x00 }
    , { 0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x004E,0x004F,0x0054,0x0020,0x0061,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0055,0x0052,0x0049,0x0020,0x00 }
    , { 0x0020,0x0045,0x006D,0x0070,0x0074,0x0079,0x0020,0x0073,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0020,0x0053,0x0074,0x0072,0x0069,0x006E,0x0067,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0077,0x0068,0x0069,0x0074,0x0065,0x0073,0x0070,0x0061,0x0063,0x0065,0x0073,0x0020,0x006F,0x006E,0x006C,0x0079,0x002E,0x00 }
    , { 0x0020,0x004D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x006F,0x006E,0x0065,0x0020,0x0064,0x0065,0x0063,0x0069,0x006D,0x0061,0x006C,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x0073,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0020,0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0073,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0020,0x004E,0x0075,0x006C,0x006C,0x0020,0x0070,0x006F,0x0069,0x006E,0x0074,0x0065,0x0072,0x0020,0x0065,0x006E,0x0063,0x006F,0x0075,0x006E,0x0074,0x0065,0x0072,0x0065,0x0064,0x002E,0x00 }
    , { 0x0020,0x0043,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0063,0x006F,0x006E,0x0073,0x0074,0x0072,0x0075,0x0063,0x0074,0x0020,0x0055,0x0052,0x0049,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x006E,0x0075,0x006C,0x006C,0x002F,0x0065,0x006D,0x0070,0x0074,0x0079,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0062,0x0065,0x0020,0x0073,0x0065,0x0074,0x0020,0x0066,0x006F,0x0072,0x0020,0x0061,0x0020,0x0067,0x0065,0x006E,0x0065,0x0072,0x0069,0x0063,0x0020,0x0055,0x0052,0x0049,0x0021,0x0020,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0065,0x0073,0x0063,0x0061,0x0070,0x0065,0x0020,0x0073,0x0065,0x0071,0x0075,0x0065,0x006E,0x0063,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x006F,0x006E,0x0074,0x0061,0x0069,0x006E,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0061,0x0072,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0065,0x0074,0x0020,0x0074,0x006F,0x0020,0x006E,0x0075,0x006C,0x006C,0x0020,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x004E,0x004F,0x0054,0x0020,0x0063,0x006F,0x006E,0x0066,0x006F,0x0072,0x006D,0x0061,0x006E,0x0074,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0020,0x004E,0x006F,0x0020,0x0073,0x0063,0x0068,0x0065,0x006D,0x0065,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E,0x0020,0x0055,0x0052,0x0049,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x006D,0x0061,0x0079,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x0066,0x0020,0x0068,0x006F,0x0073,0x0074,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x006D,0x0061,0x0079,0x0020,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x0066,0x0020,0x0070,0x0061,0x0074,0x0068,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x00 }
    , { 0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x002C,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0062,0x0065,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0065,0x0064,0x0020,0x0069,0x006E,0x0020,0x0070,0x0061,0x0074,0x0068,0x00 }
    , { 0x0020,0x0050,0x006F,0x0072,0x0074,0x0020,0x006E,0x006F,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x0061,0x006C,0x006C,0x0020,0x0062,0x0065,0x0020,0x0069,0x006E,0x0020,0x0028,0x0030,0x002C,0x0020,0x0036,0x0035,0x0035,0x0033,0x0035,0x0029,0x0020,0x00 }
    , { 0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x0061,0x006C,0x006C,0x0020,0x0062,0x0065,0x0020,0x0067,0x0072,0x0065,0x0061,0x0074,0x0065,0x0072,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0061,0x0078,0x0020,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x0061,0x006C,0x006C,0x0020,0x0062,0x0065,0x0020,0x006C,0x0065,0x0073,0x0073,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x006D,0x0061,0x0078,0x0020,0x004E,0x0065,0x0067,0x0061,0x0074,0x0069,0x0076,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x0020,0x00 }
    , { 0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x0061,0x006C,0x006C,0x0020,0x0062,0x0065,0x0020,0x0069,0x006E,0x0020,0x0074,0x0068,0x0065,0x0020,0x0072,0x0061,0x006E,0x0067,0x0065,0x0020,0x006F,0x0066,0x0020,0x0027,0x007B,0x0031,0x007D,0x0027,0x002C,0x0020,0x0027,0x007B,0x0032,0x007D,0x0027,0x0020,0x00 }
    , { 0x0020,0x0054,0x0079,0x0070,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x003A,0x0020,0x0069,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x00 }
    , { 0x0020,0x0056,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0073,0x0068,0x0061,0x006C,0x006C,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0065,0x0078,0x0070,0x006F,0x006E,0x0065,0x006E,0x0074,0x002E,0x0020,0x00 }
    , { 0x0041,0x0020,0x0072,0x0065,0x0073,0x0075,0x006C,0x0074,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0073,0x0065,0x0074,0x002E,0x00 }
    , { 0x0043,0x006F,0x006D,0x0070,0x0061,0x0063,0x0074,0x0052,0x0061,0x006E,0x0067,0x0065,0x0073,0x0020,0x002D,0x0020,0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x00 }
    , { 0x004D,0x0065,0x0072,0x0067,0x0065,0x0020,0x0052,0x0061,0x006E,0x0067,0x0065,0x0073,0x0020,0x002D,0x0020,0x004D,0x0069,0x0073,0x006D,0x0061,0x0074,0x0063,0x0068,0x0065,0x0064,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0053,0x0075,0x0062,0x0074,0x0072,0x0061,0x0063,0x0074,0x0052,0x0061,0x006E,0x0067,0x0065,0x0073,0x0020,0x002D,0x0020,0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x00 }
    , { 0x0049,0x006E,0x0074,0x0065,0x0072,0x0073,0x0065,0x0063,0x0074,0x0052,0x0061,0x006E,0x0067,0x0065,0x0073,0x0020,0x002D,0x0020,0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0045,0x0072,0x0072,0x006F,0x0072,0x00 }
    , { 0x0043,0x006F,0x006D,0x0070,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0052,0x0061,0x006E,0x0067,0x0065,0x0073,0x0020,0x002D,0x0020,0x0041,0x0072,0x0067,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x0061,0x0020,0x0052,0x0061,0x006E,0x0067,0x0065,0x0054,0x006F,0x006B,0x0065,0x006E,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0061,0x0074,0x0065,0x0067,0x006F,0x0072,0x0079,0x0020,0x006E,0x0061,0x006D,0x0065,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x004B,0x0065,0x0079,0x0077,0x006F,0x0072,0x0064,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x006E,0x006F,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x00 }
    , { 0x0052,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x006E,0x006F,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0062,0x0065,0x0020,0x006D,0x006F,0x0072,0x0065,0x0020,0x0074,0x0068,0x0061,0x006E,0x0020,0x007A,0x0065,0x0072,0x006F,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x006F,0x0070,0x0074,0x0069,0x006F,0x006E,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x0055,0x006E,0x006B,0x006E,0x006F,0x0077,0x006E,0x0020,0x0074,0x006F,0x006B,0x0065,0x006E,0x0020,0x0074,0x0079,0x0070,0x0065,0x00 }
    , { 0x0046,0x0061,0x0069,0x006C,0x0065,0x0064,0x0020,0x0074,0x006F,0x0020,0x0067,0x0065,0x0074,0x0020,0x0052,0x0061,0x006E,0x0067,0x0065,0x0054,0x006F,0x006B,0x0065,0x006E,0x0020,0x0066,0x006F,0x0072,0x003A,0x0020,0x007B,0x0030,0x007D,0x00 }
    , { 0x004E,0x006F,0x0074,0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x00 }
    , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x0069,0x006E,0x0064,0x0065,0x0078,0x00 }
    , { 0x0045,0x006E,0x0061,0x0062,0x006C,0x0069,0x006E,0x0067,0x0020,0x0074,0x0068,0x0065,0x0020,0x004E,0x0045,0x004C,0x0020,0x006F,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x0063,0x0061,0x006E,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0062,0x0065,0x0020,0x0063,0x0061,0x006C,0x006C,0x0065,0x0064,0x0020,0x006F,0x006E,0x0063,0x0065,0x0020,0x0070,0x0065,0x0072,0x0020,0x0070,0x0072,0x006F,0x0063,0x0065,0x0073,0x0073,0x002E,0x00 }
    , { 0x007B,0x0030,0x007D,0x00 }
    , { 0x006F,0x0070,0x0065,0x0072,0x0061,0x0074,0x006F,0x0072,0x0020,0x006E,0x0065,0x0077,0x0020,0x0066,0x0061,0x0069,0x006C,0x0073,0x002E,0x0020,0x0020,0x0050,0x006F,0x0073,0x0073,0x0069,0x0062,0x006C,0x0079,0x0020,0x0072,0x0075,0x006E,0x006E,0x0069,0x006E,0x0067,0x0020,0x004F,0x0066,0x0020,0x006D,0x0065,0x006D,0x006F,0x0072,0x0079,0x00 }
    , { 0x004F,0x0070,0x0065,0x0072,0x0061,0x0074,0x0069,0x006F,0x006E,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x00 }
    , { 0x0045,0x005F,0x0045,0x006E,0x0064,0x00 }
  
  };
  const unsigned int gXMLExceptArraySize = 283;
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory/InMemMsgLoader.hpp
  
  Index: InMemMsgLoader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: InMemMsgLoader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:59  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/28 19:43:21  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.3  2000/03/02 19:55:15  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:22  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:20  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:27  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(INMEMMSGLOADER_HPP)
  #define INMEMMSGLOADER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLMsgLoader.hpp>
  
  //
  //  This is a simple in memory message loader implementation. For those
  //  folks who just want a single language and want something very fast and
  //  efficient, can basically just provide a couple of arrays of Unicode
  //  strings that can be looked up by the message id.
  //
  class XMLUTIL_EXPORT InMemMsgLoader : public XMLMsgLoader
  {
  public :
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      InMemMsgLoader(const XMLCh* const msgDomain);
      ~InMemMsgLoader();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual message loader API
      // -----------------------------------------------------------------------
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          , const XMLCh* const            repText1
          , const XMLCh* const            repText2 = 0
          , const XMLCh* const            repText3 = 0
          , const XMLCh* const            repText4 = 0
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          , const char* const             repText1
          , const char* const             repText2 = 0
          , const char* const             repText3 = 0
          , const char* const             repText4 = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      InMemMsgLoader();
      InMemMsgLoader(const InMemMsgLoader&);
      void operator=(const InMemMsgLoader&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fMsgDomain
      //      This is the message domain that we are for loading message from.
      // -----------------------------------------------------------------------
      XMLCh*  fMsgDomain;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp
  
  Index: MsgCatalogLoader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MsgCatalogLoader.hpp,v $
   * Revision 1.1  2002/03/22 00:41:59  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:16  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:22  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:17  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:28  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(ICONVMSGLOADER_HPP)
  #define ICONVMSGLOADER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLMsgLoader.hpp>
  
  #include <nl_types.h>
  
  //
  //  This is a simple in Iconv RC message loader implementation.
  //
  class XMLUTIL_EXPORT MsgCatalogLoader : public XMLMsgLoader
  {
  public :
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      MsgCatalogLoader(const XMLCh* const msgDomain);
      ~MsgCatalogLoader();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual message loader API
      // -----------------------------------------------------------------------
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
          , const XMLCh* const            repText1
          , const XMLCh* const            repText2 = 0
          , const XMLCh* const            repText3 = 0
          , const XMLCh* const            repText4 = 0
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned long           maxChars
          , const char* const             repText1
          , const char* const             repText2 = 0
          , const char* const             repText3 = 0
          , const char* const             repText4 = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      MsgCatalogLoader();
      MsgCatalogLoader(const MsgCatalogLoader&);
      void operator=(const MsgCatalogLoader&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fModHandle
      //      This is our DLL module handle that we need in order to load
      //      resource messages. This is set during construction.
      //
      //  fMsgDomain
      //      This is the name of the error domain that this loader is for.
      // -----------------------------------------------------------------------
      nl_catd 	fCatalogHandle;
      XMLCh*      fMsgDomain;
  	
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog/XMLMsgCat_Ids.hpp
  
  Index: XMLMsgCat_Ids.hpp
  ===================================================================
  const unsigned int CatId_XMLErrs = 1;
  const unsigned int CatId_XMLValid = 2;
  const unsigned int CatId_XMLExcepts = 3;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32/Win32MsgLoader.hpp
  
  Index: Win32MsgLoader.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Win32MsgLoader.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/28 19:43:23  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.3  2000/03/02 19:55:19  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:24  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:15  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:28  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(WIN32MSGLOADER_HPP)
  #define WIN32MSGLOADER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLMsgLoader.hpp>
  
  //
  //  This is a simple in Win32 RC message loader implementation.
  //
  class XMLUTIL_EXPORT Win32MsgLoader : public XMLMsgLoader
  {
  public :
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      Win32MsgLoader(const XMLCh* const msgDomain);
      ~Win32MsgLoader();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual message loader API
      // -----------------------------------------------------------------------
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          , const XMLCh* const            repText1
          , const XMLCh* const            repText2 = 0
          , const XMLCh* const            repText3 = 0
          , const XMLCh* const            repText4 = 0
      );
  
      virtual bool loadMsg
      (
          const   XMLMsgLoader::XMLMsgId  msgToLoad
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          , const char* const             repText1
          , const char* const             repText2 = 0
          , const char* const             repText3 = 0
          , const char* const             repText4 = 0
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Win32MsgLoader();
      Win32MsgLoader(const Win32MsgLoader&);
      void operator=(const Win32MsgLoader&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDomainOfs
      //      This is the id offset for the current domain. Its used to bias
      //      the zero based id of each domain, since they are stored in the
      //      same file and have to have unique ids internally. This is set
      //      in the ctor from the domain name. We just have to agree with
      //      what our formatter in the NLSXlat program does.
      //
      //  fModHandle
      //      This is our DLL module handle that we need in order to load
      //      resource messages. This is set during construction.
      //
      //  fMsgDomain
      //      This is the name of the error domain that this loader is for.
      // -----------------------------------------------------------------------
      unsigned int    fDomainOfs;
      HINSTANCE       fModHandle;
      XMLCh*          fMsgDomain;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/AIX/AIXDefs.hpp
  
  Index: AIXDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: AIXDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:19  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:26  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:10  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:28  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  AIX runs in big endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  
  
  // ---------------------------------------------------------------------------
  //  And define our file handle abstraction
  // ---------------------------------------------------------------------------
  typedef void* FileHandle;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX/HPUXDefs.hpp
  
  Index: HPUXDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: HPUXDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:21  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:27  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:06  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:29  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  HPUX runs in big endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  typedef void* FileHandle;
  
  #ifndef HPUX
  #define HPUX
  #endif
  
  //#define _PTHREADS_DRAFT4
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Linux/LinuxDefs.hpp
  
  Index: LinuxDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: LinuxDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:24  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:28  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:07:00  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:30  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  linux runs in little endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_LITTLE
  typedef void* FileHandle;
  
  #ifndef LINUX
  #define LINUX
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS/MacOSDefs.hpp
  
  Index: MacOSDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: MacOSDefs.hpp,v 1.1 2002/03/22 00:42:00 sanjiva Exp $
   */
  
  
  // ---------------------------------------------------------------------------
  // NOTE:
  //
  //    Xerces is not officially supported on Macintosh. This file was sent
  //    in by one of the Macintosh users and is included in the distribution
  //    just for convenience. Please send any defects / modification
  //    reports to xml4c@us.ibm.com
  // ---------------------------------------------------------------------------
  
  
  #ifndef MACOS_DEFS_HPP
  #define MACOS_DEFS_HPP
  
  // ---------------------------------------------------------------------------
  //  MacOS runs in big endian mode.
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  
  
  // ---------------------------------------------------------------------------
  //  Define all the required platform types
  // ---------------------------------------------------------------------------
  class XMLMacAbstractFile;
  typedef XMLMacAbstractFile*   FileHandle;
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS/MacOSPlatformUtils.hpp
  
  Index: MacOSPlatformUtils.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: MacOSPlatformUtils.hpp,v 1.1 2002/03/22 00:42:00 sanjiva Exp $
   */
   
  #pragma once
  
  #include <util/XercesDefs.hpp>
  #include <cstdlib>
  
  #if defined(XML_MACOSX)
      //	Framework includes from ProjectBuilder
      #include <CoreServices/CoreServices.h>
  #else
      //	Classic includes otherwise
      #include <Files.h>
  #endif
  
  
  //	Abstract class for files. This could be used to allow multiple file paradigms.
  class XMLMacAbstractFile
  {
      public:
          XMLMacAbstractFile() {}
          virtual ~XMLMacAbstractFile() {}
          
          virtual unsigned int currPos() = 0;
          virtual void close() = 0;
          virtual unsigned int size() = 0;
          virtual void open(const XMLCh* const) = 0;
          virtual unsigned int read(const unsigned int, XMLByte* const) = 0;
          virtual void reset() = 0;
  };
  
  
  //	Concrete file class implemented using raw Carbon file system calls.
  class XMLMacFile : public XMLMacAbstractFile
  {
      public:
          XMLMacFile() : mFileRefNum(0), mFileValid(false) {}
          virtual ~XMLMacFile();
          
          unsigned int currPos();
          void close();
          unsigned int size();
          void open(const XMLCh* const);
          unsigned int read(const unsigned int, XMLByte* const);
          void reset();
          
      protected:
          short	mFileRefNum;
          bool	mFileValid;
  };
  
  
  //
  //	Support for customized panic handling:
  //  The default handling of panics is not very friendly.
  //	To replace it with something more friendly, you'll need to:
  //		- #define XML_USE_CUSTOM_PANIC_PROC
  //		- Write, and link with, XMLCustomPanicProc
  //		- Implement your panic handling within XMLCustomPanicProc.
  //
  extern "C" void XMLCustomPanicProc(XMLPlatformUtils::PanicReasons panicReason, const char* reasonStr);
  
  //	Notes on our Xerces/Mac paths:
  //
  //	Wherever paths are used in Xerces, this Macintosh port assumes that they'll
  //	be in "unix" format, or at least as close as you can get to that on the particular
  //	OS. On classic, this means that a path will be a unix style path, separated by '/' and
  //	starting with the Mac OS volume name. Since slash is used as the segment separator,
  //	any slashes that actually exist in the segment name will be converted to colons
  //	(since colon is the Mac OS path separator and would be illegal in a segment name).
  //	For Mac OS X, paths are created and parsed using the FSRefMakePath, etc, routines:
  //	the major difference will be location of the volume name within the path.
  //
  //	The routines below help to create and interpret these pathnames for these cases.
  //	While the port itself never creates such paths, it does use these same routines to
  //	parse them.
  
  //	Convert fom FSRef/FSSpec to a Unicode character string path.
  //	Note that you'll need to delete [] that string after you're done with it!
  XMLCh*	XMLCreateFullPathFromFSRef(const FSRef& startingRef);
  XMLCh*	XMLCreateFullPathFromFSSpec(const FSSpec& startingSpec);
  
  //	Convert from path to FSRef/FSSpec
  //	You retain ownership of the pathName.
  bool	XMLParsePathToFSRef(const XMLCh* const pathName, FSRef& ref);
  bool	XMLParsePathToFSSpec(const XMLCh* const pathName, FSSpec& spec);
  
  //	These routines copy characters between their representation in the Unicode Converter
  //	and the representation used by XMLCh. Until a recent change in Xerces, these were
  //	sometimes different on the Macintosh (with GCC), but XMLCh is now fixed at 16 bits.
  //	Code utilitizing these routines may be phased out in time, as a conversion is no
  //	longer necessary.
  XMLCh*		CopyUniCharsToXMLChs(const UniChar* src, XMLCh* dst, std::size_t charCount, std::size_t maxChars);
  UniChar*	CopyXMLChsToUniChars(const XMLCh* src, UniChar* dst, std::size_t charCount, std::size_t maxChars);
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS2/OS2Defs.hpp
  
  Index: OS2Defs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: OS2Defs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:27  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:29  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:42  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:31  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  OS2 always run the CPU in little endian mode.
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_LITTLE
  
  
  // ---------------------------------------------------------------------------
  //  Define all the required platform types
  // ---------------------------------------------------------------------------
  typedef void*   FileHandle;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/OS390/OS390Defs.hpp
  
  Index: OS390Defs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: OS390Defs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:55:29  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/06 07:48:29  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.2  2000/01/21 22:17:21  abagchi
   * OS390 Change: rollup MQWF changes
   *
   * Revision 1.1.1.1  1999/11/09 01:06:36  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:31  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  OS390OE runs in big endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  typedef void* FileHandle;
  
  #ifdef EXM_OS390
  #define APP_NO_THREADS
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/PTX/PTXDefs.hpp
  
  Index: PTXDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: PTXDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2000/04/04 21:04:25  abagchi
   * Fixed copyrights with initial checkin
   *
   */
  
  // ---------------------------------------------------------------------------
  //  Dynix/PTX runs in little endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_LITTLE
  typedef void* FileHandle;
  
  #ifndef PTX
  #define PTX
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris/SolarisDefs.hpp
  
  Index: SolarisDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SolarisDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:00  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/03/02 19:55:30  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/17 03:36:54  rahulj
   * Fixed a cut-paste typo in the comments.
   *
   * Revision 1.2  2000/02/06 07:48:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:30  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:32  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  SPARC runs in big endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  typedef void* FileHandle;
  
  #ifndef SOLARIS
  #define SOLARIS
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem/TandemDefs.hpp
  
  Index: TandemDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: TandemDefs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:01  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:31  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:30  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:24  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:32  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  Tandem machines runs in big endian mode
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_BIG
  typedef void* FileHandle;
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Platforms/Win32/Win32Defs.hpp
  
  Index: Win32Defs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Win32Defs.hpp,v $
   * Revision 1.1  2002/03/22 00:42:01  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/03/02 19:55:34  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.2  2000/02/06 07:48:31  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:20  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:33  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  // ---------------------------------------------------------------------------
  //  NT and Win98 always run the CPU in little endian mode.
  // ---------------------------------------------------------------------------
  #define ENDIANMODE_LITTLE
  
  
  // ---------------------------------------------------------------------------
  //  Define all the required platform types. For Win32, void* is interoperable
  //  with the HANDLE type.
  // ---------------------------------------------------------------------------
  typedef void* FileHandle;
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU/ICUTransService.hpp
  
  Index: ICUTransService.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ICUTransService.hpp,v $
   * Revision 1.1  2002/03/22 00:42:01  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.10  2000/03/18 00:00:03  roddey
   * Initial updates for two way transcoding support
   *
   * Revision 1.9  2000/03/02 19:55:34  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.8  2000/02/06 07:48:32  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.7  2000/01/25 22:49:56  roddey
   * Moved the supportsSrcOfs() method from the individual transcoder to the
   * transcoding service, where it should have been to begin with.
   *
   * Revision 1.6  2000/01/25 19:19:08  roddey
   * Simple addition of a getId() method to the xcode and netacess abstractions to
   * allow each impl to give back an id string.
   *
   * Revision 1.5  2000/01/19 23:21:11  abagchi
   * Made this file compatible with ICU 1.4
   *
   * Revision 1.4  2000/01/19 00:58:07  roddey
   * Update to support new ICU 1.4 release.
   *
   * Revision 1.3  1999/12/18 00:22:32  roddey
   * Changes to support the new, completely orthagonal, transcoder architecture.
   *
   * Revision 1.2  1999/12/15 19:43:45  roddey
   * Now implements the new transcoding abstractions, with separate interface
   * classes for XML transcoders and local code page transcoders.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:08  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:34  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef ICUTRANSSERVICE_HPP
  #define ICUTRANSSERVICE_HPP
  
  #include <util/Mutexes.hpp>
  #include <util/TransService.hpp>
  
  struct UConverter;
  
  class XMLUTIL_EXPORT ICUTransService : public XMLTransService
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ICUTransService();
      ~ICUTransService();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoding service API
      // -----------------------------------------------------------------------
      virtual int compareIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
      );
  
      virtual int compareNIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
          , const unsigned int    maxChars
      );
  
      virtual const XMLCh* getId() const;
  
      virtual bool isSpace(const XMLCh toCheck) const;
  
      virtual XMLLCPTranscoder* makeNewLCPTranscoder();
  
      virtual bool supportsSrcOfs() const;
  
      virtual void upperCase(XMLCh* const toUpperCase) const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected virtual methods
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNewXMLTranscoder
      (
          const   XMLCh* const            encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ICUTransService(const ICUTransService&);
      void operator=(const ICUTransService&);
  };
  
  
  
  class XMLUTIL_EXPORT ICUTranscoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ICUTranscoder
      (
          const   XMLCh* const        encodingName
          ,       UConverter* const   toAdopt
          , const unsigned int        blockSize
      );
      ~ICUTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ICUTranscoder();
      ICUTranscoder(const ICUTranscoder&);
      void operator=(const ICUTranscoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fConverter
      //      This is a pointer to the ICU converter that this transcoder
      //      uses.
      //
      //  fFixed
      //      This is set to true if the encoding is a fixed size one. This
      //      can be used to optimize some operations.
      //
      //  fSrcOffsets
      //      This is an array of longs, which are allocated to the size of
      //      the trancoding block (if any) indicated in the ctor. It is used
      //      to get the character offsets from ICU, which are then translated
      //      into an array of char sizes for return.
      // -----------------------------------------------------------------------
      UConverter*     fConverter;
      bool            fFixed;
      XMLUInt32*      fSrcOffsets;
  };
  
  
  class XMLUTIL_EXPORT ICULCPTranscoder : public XMLLCPTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ICULCPTranscoder(UConverter* const toAdopt);
      ~ICULCPTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int calcRequiredSize(const char* const srcText);
  
      virtual unsigned int calcRequiredSize(const XMLCh* const srcText);
  
      virtual char* transcode(const XMLCh* const toTranscode);
  
      virtual XMLCh* transcode(const char* const toTranscode);
  
      virtual bool transcode
      (
          const   char* const     toTranscode
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
      );
  
      virtual bool transcode
      (
          const   XMLCh* const    toTranscode
          ,       char* const     toFill
          , const unsigned int    maxChars
      );
  
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ICULCPTranscoder();
      ICULCPTranscoder(const ICULCPTranscoder&);
      void operator=(const ICULCPTranscoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fConverter
      //      This is a pointer to the ICU converter that this transcoder
      //      uses.
      //
      //  fMutex
      //      We have to synchronize threaded calls to the converter.
      // -----------------------------------------------------------------------
      UConverter*     fConverter;
      XMLMutex        fMutex;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv/IconvTransService.hpp
  
  Index: IconvTransService.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: IconvTransService.hpp,v $
   * Revision 1.1  2002/03/22 00:42:01  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2000/03/02 19:55:35  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.7  2000/02/06 07:48:33  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.6  2000/01/25 22:49:57  roddey
   * Moved the supportsSrcOfs() method from the individual transcoder to the
   * transcoding service, where it should have been to begin with.
   *
   * Revision 1.5  2000/01/25 19:19:08  roddey
   * Simple addition of a getId() method to the xcode and netacess abstractions to
   * allow each impl to give back an id string.
   *
   * Revision 1.4  2000/01/06 01:21:34  aruna1
   * Transcoding services modified.
   *
   * Revision 1.3  2000/01/05 23:30:38  abagchi
   * Fixed the new class IconvLCPTranscoder functions. Tested on Linux only.
   *
   * Revision 1.2  1999/12/18 00:22:32  roddey
   * Changes to support the new, completely orthagonal, transcoder architecture.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:10  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:34  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef ICONVTRANSSERVICE_HPP
  #define ICONVTRANSSERVICE_HPP
  
  #include <util/TransService.hpp>
  
  class XMLUTIL_EXPORT IconvTransService : public XMLTransService
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      IconvTransService();
      ~IconvTransService();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoding service API
      // -----------------------------------------------------------------------
      virtual int compareIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
      );
  
      virtual int compareNIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
          , const unsigned int    maxChars
      );
  
      virtual const XMLCh* getId() const;
  
      virtual bool isSpace(const XMLCh toCheck) const;
  
      virtual XMLLCPTranscoder* makeNewLCPTranscoder();
  
      virtual bool supportsSrcOfs() const;
  
      virtual void upperCase(XMLCh* const toUpperCase) const;
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected virtual methods
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNewXMLTranscoder
      (
          const   XMLCh* const            encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      IconvTransService(const IconvTransService&);
      void operator=(const IconvTransService&);
  };
  
  
  
  
  class XMLUTIL_EXPORT IconvTranscoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  	IconvTranscoder(const XMLCh* const encodingName, const unsigned int blockSize);
      ~IconvTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoder interface
      // -----------------------------------------------------------------------
      virtual XMLCh transcodeOne
      (
          const   XMLByte* const     srcData
          , const unsigned int    srcBytes
          ,       unsigned int&   bytesEaten
      );
  
      virtual unsigned int transcodeXML
      (
          const   XMLByte* const             srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
  		,       unsigned char* const    charSizes
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      IconvTranscoder(const IconvTranscoder&);
      void operator=(const IconvTranscoder&);
  };
  
  
  
  class XMLUTIL_EXPORT IconvLCPTranscoder : public XMLLCPTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      IconvLCPTranscoder();
      ~IconvLCPTranscoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int calcRequiredSize(const char* const srcText);
  
      virtual unsigned int calcRequiredSize(const XMLCh* const srcText);
  
      virtual char* transcode(const XMLCh* const toTranscode);
  
      virtual bool transcode
      (
          const   XMLCh* const    toTranscode
          ,       char* const     toFill
          , const unsigned int    maxBytes
      );
  
      virtual XMLCh* transcode(const char* const toTranscode);
  
      virtual bool transcode
      (
          const   char* const     toTranscode
          ,       XMLCh* const    toFill
          , const unsigned int    maxChars
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      IconvLCPTranscoder(const IconvLCPTranscoder&);
      void operator=(const IconvLCPTranscoder&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32/Win32TransService.hpp
  
  Index: Win32TransService.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Win32TransService.hpp,v $
   * Revision 1.1  2002/03/22 00:42:01  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.10  2000/05/09 00:22:45  andyh
   * Memory Cleanup.  XMLPlatformUtils::Terminate() deletes all lazily
   * allocated memory; memory leak checking tools will no longer report
   * that leaks exist.  (DOM GetElementsByTagID temporarily removed
   * as part of this.)
   *
   * Revision 1.9  2000/03/18 00:00:04  roddey
   * Initial updates for two way transcoding support
   *
   * Revision 1.8  2000/03/07 23:45:36  roddey
   * First cut for additions to Win32 xcode. Based very loosely on a
   * prototype from Eric Ulevik.
   *
   * Revision 1.7  2000/03/02 19:55:36  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.6  2000/02/06 07:48:34  rahulj
   * Year 2K copyright swat.
   *
   * Revision 1.5  2000/01/25 22:49:58  roddey
   * Moved the supportsSrcOfs() method from the individual transcoder to the
   * transcoding service, where it should have been to begin with.
   *
   * Revision 1.4  2000/01/25 19:19:09  roddey
   * Simple addition of a getId() method to the xcode and netacess abstractions to
   * allow each impl to give back an id string.
   *
   * Revision 1.3  1999/12/18 00:22:33  roddey
   * Changes to support the new, completely orthagonal, transcoder architecture.
   *
   * Revision 1.2  1999/12/15 19:44:02  roddey
   * Now implements the new transcoding abstractions, with separate interface
   * classes for XML transcoders and local code page transcoders.
   *
   * Revision 1.1.1.1  1999/11/09 01:06:06  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:35  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #ifndef WIN32TRANSSERVICE_HPP
  #define WIN32TRANSSERVICE_HPP
  
  #include <util/TransService.hpp>
  #include <util/RefHashTableOf.hpp>
  #include <windows.h>
  
  class CPMapEntry;
  
  
  
  //---------------------------------------------------------------------------
  //
  //  class Win32TransService
  //
  //---------------------------------------------------------------------------
  class XMLUTIL_EXPORT Win32TransService : public XMLTransService
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      Win32TransService();
      virtual ~Win32TransService();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoding service API
      // -----------------------------------------------------------------------
      virtual int compareIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
      );
  
      virtual int compareNIString
      (
          const   XMLCh* const    comp1
          , const XMLCh* const    comp2
          , const unsigned int    maxChars
      );
  
      virtual const XMLCh* getId() const;
  
      virtual bool isSpace(const XMLCh toCheck) const;
  
      virtual XMLLCPTranscoder* makeNewLCPTranscoder();
  
      virtual bool supportsSrcOfs() const;
  
      virtual void upperCase(XMLCh* const toUpperCase) const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected virtual methods, implemented in Win32TransService2.cpp
      // -----------------------------------------------------------------------
      virtual XMLTranscoder* makeNewXMLTranscoder
      (
          const   XMLCh* const            encodingName
          ,       XMLTransService::Codes& resValue
          , const unsigned int            blockSize
      );
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Win32TransService(const Win32TransService&);
      void operator=(const Win32TransService&);
  
      //      This is a hash table of entries which map encoding names to their
      //      Windows specific code pages. The code page allows us to create
      //      transcoders for those encodings. The encoding names come from XML
      //      files.
      //
      //      This map is shared unsynchronized among all threads of the process,
      //      which is cool since it will be read only once its initialized.
  
  
  
      static bool isAlias(const   HKEY            encodingKey
                      ,       char* const     aliasBuf = 0
                      , const unsigned int    nameBufSz = 0);
  
  
      RefHashTableOf<CPMapEntry>    *fCPMap;
  };
  
  
  
  
  
  
  
  //---------------------------------------------------------------------------
  //
  //  class Win32Transcoder
  //
  //---------------------------------------------------------------------------
  
  class XMLUTIL_EXPORT Win32Transcoder : public XMLTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      Win32Transcoder
      (
          const   XMLCh* const    encodingName
          , const unsigned int    winCP
          , const unsigned int    ieCP
          , const unsigned int    blockSize);
      ~Win32Transcoder();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual transcoder interface
      // -----------------------------------------------------------------------
      virtual unsigned int transcodeFrom
      (
          const   XMLByte* const          srcData
          , const unsigned int            srcCount
          ,       XMLCh* const            toFill
          , const unsigned int            maxChars
          ,       unsigned int&           bytesEaten
          ,       unsigned char* const    charSizes
      );
  
      virtual unsigned int transcodeTo
      (
          const   XMLCh* const    srcData
          , const unsigned int    srcCount
          ,       XMLByte* const  toFill
          , const unsigned int    maxBytes
          ,       unsigned int&   charsEaten
          , const UnRepOpts       options
      );
  
      virtual bool canTranscodeTo
      (
          const   unsigned int    toCheck
      )   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Win32Transcoder(const Win32Transcoder&);
      void operator=(const Win32Transcoder&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fIECP
      //      This is the internet explorer code page for this encoding.
      //
      //  fWinCP
      //      This is the windows code page for this encoding.
      // -----------------------------------------------------------------------
      unsigned int    fIECP;
      unsigned int    fWinCP;
  };
  
  
  
  
  
  //---------------------------------------------------------------------------
  //
  //  class Win32LCPTranscoder
  //
  //---------------------------------------------------------------------------
  class XMLUTIL_EXPORT Win32LCPTranscoder : public XMLLCPTranscoder
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and De
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ASCIIRangeFactory.hpp
  
  Index: ASCIIRangeFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ASCIIRangeFactory.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(ASCIIRANGEFACTORY_HPP)
  #define ASCIIRANGEFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RangeFactory.hpp>
  
  
  class XMLUTIL_EXPORT ASCIIRangeFactory: public RangeFactory {
  
  public:
      // -----------------------------------------------------------------------
      //  Constructors and operators
      // -----------------------------------------------------------------------
      ASCIIRangeFactory();
      ~ASCIIRangeFactory();
  
      // -----------------------------------------------------------------------
      //  Initialization methods
      // -----------------------------------------------------------------------
  	void initializeKeywordMap();
  
  protected:
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
  	void buildRanges();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ASCIIRangeFactory(const ASCIIRangeFactory&);
      void operator=(const ASCIIRangeFactory&);
  
  	static bool fRangesCreated;
  	static bool fKeywordsInitialized;
  };
  
  #endif
  
  /**
    *	End file ASCIIRangeFactory.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/BMPattern.hpp
  
  Index: BMPattern.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: BMPattern.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(BMPATTERN_HPP)
  #define BMPATTERN_HPP
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XercesDefs.hpp>
  
  class XMLUTIL_EXPORT BMPattern {
  public:
  	// -----------------------------------------------------------------------
  	//  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	/** @name Constructors */
      //@{
  
  	/**
        * This is the onstructor which takes the pattern information. A default
        * shift table size is used.
        *
        * @param  pattern     The pattern to match against.
        *
        * @param  ignoreCase  A flag to indicate whether to ignore case
  	  *						matching or not.
        */
  	BMPattern(const XMLCh* const pattern, bool ignoreCase);
  
  	/**
        * This is the constructor which takes all of the information
        * required to construct a BM pattern object.
        *
        * @param  pattern     The pattern to match against.
        *
  	  * @param	tableSize	Indicates the size of the shift table.
  	  *
        * @param  ignoreCase  A flag to indicate whether to ignore case
  	  *						matching or not.
        */
  	BMPattern(const XMLCh* const pattern, int tableSize, bool ignoreCase);
  
  	//@}
  
  	/** @name Destructor. */
      //@{
  
  	/**
  	  * Destructor of BMPattern
  	  */
  	~BMPattern();
  
  	//@}
  
  	// -----------------------------------------------------------------------
  	// Matching functions
  	// -----------------------------------------------------------------------
  	/** @name Matching Functions */
  	//@{
  
  	/**
  	  *	This method will perform a match of the given content against a
  	  *	predefined pattern.
  	  */
  	int matches(const XMLCh* const content, int start, int limit);
  
  	//@}
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      BMPattern();
      BMPattern(const BMPattern&);
      void operator=(const BMPattern&);
  
  		// -----------------------------------------------------------------------
  	// This method will perform a case insensitive match
  	// -----------------------------------------------------------------------
  	bool matchesIgnoreCase(const XMLCh ch1, const XMLCh ch2);
  
  	// -----------------------------------------------------------------------
  	// Initialize/Clean up methods
  	// -----------------------------------------------------------------------
  	void initialize();
  	void cleanUp();
  
  	// -----------------------------------------------------------------------
      //  Private data members
      //
      //  fPattern
  	//	fUppercasePattern
      //      This is the pattern to match against, and its upper case form.
  	//		
      //  fIgnoreCase
      //      This is an indicator whether cases should be ignored during
  	//		matching.
      //
      //  fShiftTable
  	//	fShiftTableLen
      //      This is a table of offsets for shifting purposes used by the BM
  	//		search algorithm, and its length.
      // -----------------------------------------------------------------------
  	XMLCh*			fPattern;
  	XMLCh*			fUppercasePattern;
  	bool			fIgnoreCase;
  	int*			fShiftTable;
  	unsigned int	fShiftTableLen;
  };
  
  // ---------------------------------------------------------------------------
  //  BMPattern: Cleanup
  // ---------------------------------------------------------------------------
  inline void BMPattern::cleanUp() {
  
  	delete [] fPattern;
  	delete [] fUppercasePattern;
  	delete [] fShiftTable;
  }
  
  #endif
  
  /*
   * End of file BMPattern.hpp
   */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/BlockRangeFactory.hpp
  
  Index: BlockRangeFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: BlockRangeFactory.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(BLOCKRANGEFACTORY_HPP)
  #define BLOCKRANGEFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RangeFactory.hpp>
  
  
  class XMLUTIL_EXPORT BlockRangeFactory: public RangeFactory {
  
  public:
      // -----------------------------------------------------------------------
      //  Constructors and operators
      // -----------------------------------------------------------------------
      BlockRangeFactory();
      ~BlockRangeFactory();
  
      // -----------------------------------------------------------------------
      //  Initialization methods
      // -----------------------------------------------------------------------
  	void initializeKeywordMap();
  
  protected:
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
  	void buildRanges();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      BlockRangeFactory(const BlockRangeFactory&);
      void operator=(const BlockRangeFactory&);
  
  	static bool fRangesCreated;
  	static bool fKeywordsInitialized;
  };
  
  #endif
  
  /**
    *	End file BlockRangeFactory.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/CharToken.hpp
  
  Index: CharToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: CharToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(CHARTOKEN_HPP)
  #define CHARTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  class XMLUTIL_EXPORT CharToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	CharToken(const unsigned short tokType, const XMLInt32 ch);
  	~CharToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	XMLInt32 getChar() const;
  
  	// -----------------------------------------------------------------------
      //  Match methods
      // -----------------------------------------------------------------------
  	bool match(const XMLInt32 ch);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      CharToken(const CharToken&);
      void operator=(const CharToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	XMLInt32 fCharData;
  };
  
  
  // ---------------------------------------------------------------------------
  //  CharToken: getter methods
  // ---------------------------------------------------------------------------
  inline XMLInt32 CharToken::getChar() const {
  
  	return fCharData;
  }
  
  
  // ---------------------------------------------------------------------------
  //  CharToken: getter methods
  // ---------------------------------------------------------------------------
  inline bool CharToken::match(const XMLInt32 ch){
  
  	return ch == fCharData;
  }
  
  #endif
  
  /**
    * End of file CharToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ClosureToken.hpp
  
  Index: ClosureToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ClosureToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(CLOSURETOKEN_HPP)
  #define CLOSURETOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  
  class XMLUTIL_EXPORT ClosureToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ClosureToken(const unsigned short tokType, Token* const tok);
  	~ClosureToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	int size() const;
  	int getMin() const;
  	int getMax() const;
  	Token* getChild(const int index) const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setMin(const int minVal);
  	void setMax(const int maxVal);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ClosureToken(const ClosureToken&);
      void operator=(const ClosureToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	int    fMin;
  	int    fMax;
  	Token* fChild;
  };
  
  
  // ---------------------------------------------------------------------------
  //  ClosureToken: getter methods
  // ---------------------------------------------------------------------------
  inline int ClosureToken::size() const {
  
  	return 1;
  }
  
  
  inline int ClosureToken::getMax() const {
  
  	return fMax;
  }
  
  inline int ClosureToken::getMin() const {
  
  	return fMin;
  }
  
  inline Token* ClosureToken::getChild(const int index) const {
  
  	return fChild;
  }
  
  // ---------------------------------------------------------------------------
  //  ClosureToken: setter methods
  // ---------------------------------------------------------------------------
  inline void ClosureToken::setMax(const int maxVal) {
  
  	fMax = maxVal;
  }
  
  inline void ClosureToken::setMin(const int minVal) {
  
  	fMin = minVal;
  }
  
  #endif
  
  /**
    * End of file ClosureToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ConcatToken.hpp
  
  Index: ConcatToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ConcatToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(CONCATTOKEN_HPP)
  #define CONCATTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  
  class XMLUTIL_EXPORT ConcatToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ConcatToken(Token* const tok1, Token* const tok2);
  	~ConcatToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	Token* getChild(const int index) const;
  	int    size() const;
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ConcatToken(const ConcatToken&);
      void operator=(const ConcatToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	Token* fChild1;
  	Token* fChild2;
  };
  
  
  // ---------------------------------------------------------------------------
  //  StringToken: getter methods
  // ---------------------------------------------------------------------------
  inline int ConcatToken::size() const {
  
  	return 2;
  }
  
  inline Token* ConcatToken::getChild(const int index) const {
  
  	return index == 0 ? fChild1 : fChild2;
  }
  
  #endif
  
  /**
    * End of file ConcatToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ConditionToken.hpp
  
  Index: ConditionToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ConditionToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(CONDITIONTOKEN_HPP)
  #define CONDITIONTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  
  class XMLUTIL_EXPORT ConditionToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ConditionToken(const unsigned int refNo, Token* const condTok,
                     Token* const yesTok, Token* const noTok);
      ~ConditionToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      int size() const;
  	int getReferenceNo() const;
      Token* getChild(const int index) const;
      Token* getConditionToken() const;
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ConditionToken(const ConditionToken&);
      void operator=(const ConditionToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	int    fRefNo;
  	Token* fConditionToken;
  	Token* fYesToken;
  	Token* fNoToken;
  };
  
  
  // ---------------------------------------------------------------------------
  //  ConditionToken: getter methods
  // ---------------------------------------------------------------------------
  inline int ConditionToken::size() const {
  
      return fNoToken == 0 ? 1 : 2;
  }
  
  inline int ConditionToken::getReferenceNo() const {
  
      return fRefNo;
  }
  
  inline Token* ConditionToken::getChild(const int index) const {
  
      if (index < 0 || index > 1)
          ThrowXML(RuntimeException, XMLExcepts::Regex_InvalidChildIndex);
  
      if (index == 0)
          return fYesToken;
  	
      return fNoToken;
  }
  
  inline Token* ConditionToken::getConditionToken() const {
  
  	return fConditionToken;
  }
  
  #endif
  
  /**
    * End of file ConditionToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Match.hpp
  
  Index: Match.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: Match.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(MATCH_HPP)
  #define MATCH_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <util/RuntimeException.hpp>
  
  /**
    * An instance of this class has ranges captured in matching
    */
  class XMLUTIL_EXPORT Match {
  public:
  
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	Match();
  	~Match();
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	int getNoGroups() const;
  	int getStartPos(int index) const;
  	int getEndPos(int index) const;
  
  	// -----------------------------------------------------------------------
  	// Setter functions
  	// -----------------------------------------------------------------------
  	void setNoGroups(const int n);
  	void setStartPos(const int index, const int value);
  	void setEndPos(const int index, const int value);
  
  private:
  	// -----------------------------------------------------------------------
  	// Initialize/Clean up methods
  	// -----------------------------------------------------------------------
  	void cleanUp();
  
  	// -----------------------------------------------------------------------
      //  Private data members
      //
      //  fNoGroups
      //      Represents no of regular expression groups
  	//		
      //  fStartPositions
      //      Array of start positions in the target text matched to specific
  	//		regular expression group
  	//
  	//	fEndPositions
  	//		Array of end positions in the target text matched to specific
  	//		regular expression group
  	//
  	//	fPositionsSize
  	//		Actual size of Start/EndPositions array.
      // -----------------------------------------------------------------------
  	int fNoGroups;
  	int fPositionsSize;
  	int* fStartPositions;
  	int* fEndPositions;
  };
  
  /**
    * Inline Methods
    */
  
  // ---------------------------------------------------------------------------
  //  Match: getter methods
  // ---------------------------------------------------------------------------
  inline int Match::getNoGroups() const {
  
  	if (fNoGroups < 0)
  		ThrowXML(RuntimeException, XMLExcepts::Regex_Result_Not_Set);
  
  	return fNoGroups;
  }
  
  inline int Match::getStartPos(int index) const {
  
  	if (!fStartPositions)
  		ThrowXML(RuntimeException, XMLExcepts::Regex_Result_Not_Set);
  
  	if (index < 0 || fNoGroups <= index)
  		ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
  
  	return fStartPositions[index];
  }
  
  inline int Match::getEndPos(int index) const {
  
  	if (!fEndPositions)
  		ThrowXML(RuntimeException, XMLExcepts::Regex_Result_Not_Set);
  
  	if (index < 0 || fNoGroups <= index)
  		ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
  
  	return fEndPositions[index];
  }
  
  // ---------------------------------------------------------------------------
  //  Match: setter methods
  // ---------------------------------------------------------------------------
  inline void Match::setStartPos(const int index, const int value) {
  
  	if (!fStartPositions)
          ThrowXML(RuntimeException, XMLExcepts::Regex_Result_Not_Set);
  
  	if (index < 0 || fNoGroups <= index)
  		ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
  
  	fStartPositions[index] = value;
  }
  
  inline void Match::setEndPos(const int index, const int value) {
  
  	if (!fEndPositions)
          ThrowXML(RuntimeException, XMLExcepts::Regex_Result_Not_Set);
  
  	if (index < 0 || fNoGroups <= index)
  		ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
  
  	fEndPositions[index] = value;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ModifierToken.hpp
  
  Index: ModifierToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ModifierToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(MODIFIERTOKEN_HPP)
  #define MODIFIERTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  class XMLUTIL_EXPORT ModifierToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ModifierToken(Token* const child, const int options, const int mask);
      ~ModifierToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      int size() const;
  	int getOptions() const;
  	int getOptionsMask() const;
      Token* getChild(const int index) const;
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ModifierToken(const ModifierToken&);
      void operator=(const ModifierToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	int    fOptions;
  	int    fOptionsMask;
  	Token* fChild;
  };
  
  
  // ---------------------------------------------------------------------------
  //  ModifierToken: getter methods
  // ---------------------------------------------------------------------------
  inline int ModifierToken::size() const {
  
      return 1;
  }
  
  inline int ModifierToken::getOptions() const {
  
      return fOptions;
  }
  
  inline int ModifierToken::getOptionsMask() const {
  
      return fOptionsMask;
  }
  
  inline Token* ModifierToken::getChild(const int index) const {
  
      return fChild;
  }
  
  #endif
  
  /**
    * End of file ModifierToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Op.hpp
  
  Index: Op.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: Op.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(OP_HPP)
  #define OP_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XercesDefs.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/RuntimeException.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class Token;
  
  
  class XMLUTIL_EXPORT Op {
  public:
  
      enum {
          DOT                = 0,
          CHAR               = 1,
          RANGE              = 3,
          NRANGE             = 4,
          ANCHOR             = 5,
          STRING             = 6,
          CLOSURE            = 7,
          NONGREEDYCLOSURE   = 8,
          QUESTION           = 9,
          NONGREEDYQUESTION  = 10,
          UNION              = 11,
          CAPTURE            = 15,
          BACKREFERENCE      = 16,
          LOOKAHEAD          = 20,
          NEGATIVELOOKAHEAD  = 21,
          LOOKBEHIND         = 22,
          NEGATIVELOOKBEHIND = 23,
          INDEPENDENT        = 24,
          MODIFIER           = 25,
          CONDITION          = 26
      };
  
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      virtual ~Op() { }
  
      // -----------------------------------------------------------------------
      // Getter functions
      // -----------------------------------------------------------------------
              short        getOpType() const;
              const Op*    getNextOp() const;
      virtual XMLInt32     getData() const;
      virtual XMLInt32     getData2() const;
      virtual int          getSize() const;
      virtual int          getRefNo() const;
      virtual const Op*    getConditionFlow() const;
      virtual const Op*    getYesFlow() const;
      virtual const Op*    getNoFlow() const;
      virtual const Op*    elementAt(int index) const;
      virtual const Op*    getChild() const;
      virtual const Token* getToken() const;
      virtual const XMLCh* getLiteral() const;
  
      // -----------------------------------------------------------------------
      // Setter functions
      // -----------------------------------------------------------------------
      void setOpType(const short type);
      void setNextOp(const Op* const next);
  
  protected:
      // -----------------------------------------------------------------------
      //  Protected Constructors
      // -----------------------------------------------------------------------
      Op(const short type);
      friend class OpFactory;
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Op(const Op&);
      void operator=(const Op&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fOpType
      //      Indicates the type of operation
      //
      //  fNextOp
      //      Points to the next operation in the chain
      // -----------------------------------------------------------------------
      short fOpType;
      const Op*   fNextOp;
  };
  
  
  class XMLUTIL_EXPORT CharOp: public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	CharOp(const short type, const XMLInt32 charData);
  	~CharOp() {}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	XMLInt32 getData() const;
  
  private:
  	// Private data members
  	XMLInt32 fCharData;
  
  };
  
  class XMLUTIL_EXPORT UnionOp : public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	UnionOp(const short type, const int size);
  	~UnionOp() { delete fBranches; }
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	int getSize() const;
  	const Op* elementAt(int index) const;
  
  	// -----------------------------------------------------------------------
  	// Setter functions
  	// -----------------------------------------------------------------------
  	void addElement(Op* const op);
  
  private:
  	// Private Data memebers
  	RefVectorOf<Op>* fBranches;
  };
  
  
  class XMLUTIL_EXPORT ChildOp: public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ChildOp(const short type);
  	~ChildOp() {}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	const Op* getChild() const;
  
  	// -----------------------------------------------------------------------
  	// Setter functions
  	// -----------------------------------------------------------------------
  	void setChild(const Op* const child);
  
  private:
  	// Private data members
  	const Op* fChild;
  };
  
  class XMLUTIL_EXPORT ModifierOp: public ChildOp {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ModifierOp(const short type, const XMLInt32 v1, const XMLInt32 v2);
  	~ModifierOp() {}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	XMLInt32 getData() const;
  	XMLInt32 getData2() const;
  
  private:
  	// Private data members
  	XMLInt32 fVal1;
  	XMLInt32 fVal2;
  };
  
  class XMLUTIL_EXPORT RangeOp: public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	RangeOp(const short type, const Token* const token);
  	~RangeOp() {}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	const Token* getToken() const;
  
  private:
  	// Private data members
  	const Token* fToken;
  };
  
  class XMLUTIL_EXPORT StringOp: public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	StringOp(const short type, const XMLCh* const literal);
  	~StringOp() { delete[] fLiteral;}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	const XMLCh* getLiteral() const;
  
  private:
  	// Private data members
  	XMLCh* fLiteral;
  };
  
  class XMLUTIL_EXPORT ConditionOp: public Op {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ConditionOp(const short type, const int refNo,
  				const Op* const condFlow, const Op* const yesFlow,
  				const Op* const noFlow);
  	~ConditionOp() {}
  
  	// -----------------------------------------------------------------------
  	// Getter functions
  	// -----------------------------------------------------------------------
  	int			getRefNo() const;
  	const Op*	getConditionFlow() const;
  	const Op*	getYesFlow() const;
  	const Op*	getNoFlow() const;
  	
  private:
  	// Private data members
  	int fRefNo;
  	const Op* fConditionOp;
  	const Op* fYesOp;
  	const Op* fNoOp;
  };
  
  // ---------------------------------------------------------------------------
  //  Op: getter methods
  // ---------------------------------------------------------------------------
  inline short Op::getOpType() const {
  
  	return fOpType;
  }
  
  inline const Op* Op::getNextOp() const {
  
  	return fNextOp;
  }
  
  // ---------------------------------------------------------------------------
  //  Op: setter methods
  // ---------------------------------------------------------------------------
  inline void Op::setOpType(const short type) {
  
  	fOpType = type;
  }
  
  inline void Op::setNextOp(const Op* const nextOp) {
  	
  	fNextOp = nextOp;
  }
  
  #endif
  
  /**
    * End of file Op.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/OpFactory.hpp
  
  Index: OpFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: OpFactory.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(OPFACTORY_HPP)
  #define OPFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLUniDefs.hpp>
  #include <util/RefVectorOf.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class Op;
  class CharOp;
  class UnionOp;
  class ChildOp;
  class RangeOp;
  class StringOp;
  class ModifierOp;
  class ConditionOp;
  class Token;
  
  /*
   * A Factory class used by 'RegularExpression' to create different types of
   * operations (Op) objects. The class will keep track of all objects created
   * for cleanup purposes. Each 'RegularExpression' object will have its own
   * instance of OpFactory and when a 'RegularExpression' object is deleted
   * all associated Op objects will be deleted.
   */
  
  class XMLUTIL_EXPORT OpFactory {
  
  public:
  	// -----------------------------------------------------------------------
      //  Constructors and destructors
      // -----------------------------------------------------------------------
  	OpFactory();
      ~OpFactory();
  
      // -----------------------------------------------------------------------
      //  Factory methods
      // -----------------------------------------------------------------------
      Op* createDotOp();
  	CharOp* createCharOp(XMLInt32 data);
  	CharOp* createAnchorOp(XMLInt32 data);
  	CharOp* createCaptureOp(int number, const Op* const next);
  	UnionOp* createUnionOp(int size);
  	ChildOp* createClosureOp(int id);
  	ChildOp* createNonGreedyClosureOp();
  	ChildOp* createQuestionOp(bool nonGreedy);
  	RangeOp* createRangeOp(const Token* const token);
  	ChildOp* createLookOp(const short type, const Op* const next,
                            const Op* const branch);
  	CharOp* createBackReferenceOp(int refNo);
  	StringOp* createStringOp(const XMLCh* const literal);
  	ChildOp* createIndependentOp(const Op* const next,
  								 const Op* const branch);
  	ModifierOp* createModifierOp(const Op* const next, const Op* const branch,
  								 const int add, const int mask);
  	ConditionOp* createConditionOp(const Op* const next, const int ref,
                                     const Op* const conditionFlow,
                                     const Op* const yesFlow,
                                     const Op* const noFlow);
  
      // -----------------------------------------------------------------------
      //  Reset methods
      // -----------------------------------------------------------------------
  	/*
  	 *	Remove all created Op objects from Vector
  	 */
  	void reset();
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      OpFactory(const OpFactory&);
      void operator=(const OpFactory&);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fOpVector
      //      Contains Op objects. Used for memory cleanup.
      // -----------------------------------------------------------------------
      RefVectorOf<Op>* fOpVector;
  };
  
  // ---------------------------------------------------------------------------
  //  OpFactory - Factory methods
  // ---------------------------------------------------------------------------
  inline void OpFactory::reset() {
  
  	fOpVector->removeAllElements();
  }
  
  #endif
  
  /**
    *	End file OpFactory
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ParenToken.hpp
  
  Index: ParenToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ParenToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(PARENTOKEN_HPP)
  #define PARENTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  
  class XMLUTIL_EXPORT ParenToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	ParenToken(const unsigned short tokType, Token* const tok,
                 const int noParen);
      ~ParenToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      int size() const;
  	int getNoParen() const;
      Token* getChild(const int index) const;
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ParenToken(const ParenToken&);
      void operator=(const ParenToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	int    fNoParen;
  	Token* fChild;
  };
  
  
  // ---------------------------------------------------------------------------
  //  ParenToken: getter methods
  // ---------------------------------------------------------------------------
  inline int ParenToken::size() const {
  
      return 1;
  }
  
  inline int ParenToken::getNoParen() const {
  
      return fNoParen;
  }
  
  inline Token* ParenToken::getChild(const int index) const {
  
      return fChild;
  }
  
  #endif
  
  /**
    * End of file ParenToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/ParserForXMLSchema.hpp
  
  Index: ParserForXMLSchema.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ParserForXMLSchema.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(PARSERFORXMLSCHEMA_HPP)
  #define PARSERFORXMLSCHEMA_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RegxParser.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class Token;
  class RangeToken;
  
  class XMLUTIL_EXPORT ParserForXMLSchema : public RegxParser {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      ParserForXMLSchema();
      ~ParserForXMLSchema();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  
  protected:
      // -----------------------------------------------------------------------
      //  Parsing/Processing methods
      // -----------------------------------------------------------------------
      XMLInt32    processCInCharacterClass(RangeToken* const tok,
                                           const XMLInt32 ch);
      Token*      processCaret();
      Token*      processDollar();
  	Token*		processLook(const unsigned short tokType);
      Token*      processBacksolidus_A();
      Token*      processBacksolidus_Z();
      Token*      processBacksolidus_z();
      Token*      processBacksolidus_b();
      Token*      processBacksolidus_B();
      Token*      processBacksolidus_c();
      Token*      processBacksolidus_C();
      Token*      processBacksolidus_i();
      Token*      processBacksolidus_I();
      Token*      processBacksolidus_g();
      Token*      processBacksolidus_X();
      Token*      processBacksolidus_lt();
      Token*      processBacksolidus_gt();
      Token*      processStar(Token* const tok);
      Token*      processPlus(Token* const tok);
  	Token*      processQuestion(Token* const tok);
  	Token*      processParen();
  	Token*      processParen2();
  	Token*      processCondition();
  	Token*      processModifiers();
  	Token*      processIndependent();
  	Token*      processBackReference();
  	RangeToken* parseCharacterClass(const bool useNRange);
  	RangeToken* parseSetOperations();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	Token* getTokenForShorthand(const XMLInt32 ch);
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
      bool checkQuestion(const int off);
  	XMLInt32 decodeEscaped();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      ParserForXMLSchema(const ParserForXMLSchema&);
      void operator=(const ParserForXMLSchema&);
  
      // -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  };
  
  #endif
  
  /**
    * End of file ParserForXMLSchema.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeFactory.hpp
  
  Index: RangeFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RangeFactory.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(RANGEFACTORY_HPP)
  #define RANGEFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XercesDefs.hpp>
  
  
  class XMLUTIL_EXPORT RangeFactory {
  
  public:
      // -----------------------------------------------------------------------
      //  Constructors and destructors
      // -----------------------------------------------------------------------
      virtual ~RangeFactory();
  
      //-----------------------------------------------------------------------
      //  Initialization methods
      // -----------------------------------------------------------------------
      virtual void initializeKeywordMap() = 0;
  
      /*
       * Used by children to build commonly used ranges
       */
      virtual void buildRanges() = 0;
  
  protected:
      // -----------------------------------------------------------------------
      //  Constructor and destructors
      // -----------------------------------------------------------------------
      RangeFactory();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RangeFactory(const RangeFactory&);
      void operator=(const RangeFactory&);
  };
  
  #endif
  
  /**
    *	End file RangeFactory.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeToken.hpp
  
  Index: RangeToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RangeToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(RANGETOKEN_HPP)
  #define RANGETOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class TokenFactory;
  
  
  class XMLUTIL_EXPORT RangeToken : public Token {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      RangeToken(const unsigned short tokType);
      ~RangeToken();
  
      // -----------------------------------------------------------------------
      //  Public Constants
      // -----------------------------------------------------------------------
      static const int MAPSIZE;
      static const unsigned int INITIALSIZE;
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      RangeToken* getCaseInsensitiveToken(TokenFactory* const tokFactory);
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  
  
      // -----------------------------------------------------------------------
      //  Range manipulation methods
      // -----------------------------------------------------------------------
      void addRange(const XMLInt32 start, const XMLInt32 end);
      void mergeRanges(const Token *const tok);
      void sortRanges();
      void compactRanges();
      void subtractRanges(RangeToken* const tok);
      void intersectRanges(RangeToken* const tok);
      static Token* complementRanges(RangeToken* const tok,
                                     TokenFactory* const tokFactory);
  
      // -----------------------------------------------------------------------
      //  Match methods
      // -----------------------------------------------------------------------
      bool match(const XMLInt32 ch);
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RangeToken(const RangeToken&);
      void operator=(const RangeToken&);
  
      // -----------------------------------------------------------------------
      // Private Helper methods
      // -----------------------------------------------------------------------
      void createMap();
      void expand(const unsigned int length);
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      bool         fSorted;
      bool         fCompacted;
      int          fNonMapIndex;
      unsigned int fElemCount;
      unsigned int fMaxCount;
      int*         fMap;
      XMLInt32*    fRanges;
      RangeToken*  fCaseIToken;
  };
  
  
  #endif
  
  /**
    * End of file RangeToken.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RangeTokenMap.hpp
  
  Index: RangeTokenMap.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RangeTokenMap.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(RANGETOKENMAP_HPP)
  #define RANGETOKENMAP_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/StringPool.hpp>
  #include <util/Mutexes.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class RangeToken;
  class RangeFactory;
  class TokenFactory;
  
  
  class XMLUTIL_EXPORT RangeTokenElemMap {
  
  public:
      RangeTokenElemMap(unsigned int categoryId);
      ~RangeTokenElemMap();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	unsigned int getCategoryId() const;
  	RangeToken*  getRangeToken(const bool complement = false) const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setRangeToken(RangeToken* const tok, const bool complement = false);
  	void setCategoryId(const unsigned int categId);
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RangeTokenElemMap(const RangeTokenElemMap&);
      void operator=(const RangeTokenElemMap&);
  
      // Data members
      unsigned int fCategoryId;
      RangeToken*  fRange;
      RangeToken*  fNRange;
  };
  
  
  class XMLUTIL_EXPORT RangeTokenMap {
  
  public:
  	// -----------------------------------------------------------------------
      //  Constructors and destructors
      // -----------------------------------------------------------------------
      virtual ~RangeTokenMap();
  
      // -----------------------------------------------------------------------
      //  Putter methods
      // -----------------------------------------------------------------------
      void addCategory(const XMLCh* const categoryName);
  	void addRangeMap(const XMLCh* const categoryName,
                       RangeFactory* const rangeFactory);
      void addKeywordMap(const XMLCh* const keyword,
                         const XMLCh* const categoryName);
  
      // -----------------------------------------------------------------------
      //  Instance methods
      // -----------------------------------------------------------------------
  	static RangeTokenMap* instance();
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setRangeToken(const XMLCh* const keyword, RangeToken* const tok,
                         const bool complement = false);
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	TokenFactory* getTokenFactory() const;
  
  	// -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitInstance();
  
  protected:
      // -----------------------------------------------------------------------
      //  Constructor and destructors
      // -----------------------------------------------------------------------
      RangeTokenMap();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      /*
       *  Gets a commonly used RangeToken from the token registry based on the
       *  range name - Called by TokenFactory.
       */
  	 RangeToken* getRange(const XMLCh* const name,
                            const bool complement = false);
  
       RefHashTableOf<RangeTokenElemMap>* getTokenRegistry() const;
       RefHashTableOf<RangeFactory>* getRangeMap() const;
  	 XMLStringPool* getCategories() const;
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RangeTokenMap(const RangeTokenMap&);
      void operator=(const RangeTokenMap&);
  
      // -----------------------------------------------------------------------
      //  Private Helpers methods
      // -----------------------------------------------------------------------
      /*
       *  Initializes the registry with a set of commonly used RangeToken
       *  objects.
       */
       void initializeRegistry();
  	 friend class TokenFactory;
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fTokenRegistry
      //      Contains a set of commonly used tokens
  	//
      //  fRangeMap
      //      Contains a map between a category name and a RangeFactory object.
      //
      //  fCategories
      //      Contains range categories names
      //
      //  fTokenFactory
      //      Token factory object
      //
      //  fInstance
      //      A RangeTokenMap instance
      //
      //  fMutex
      //      A mutex object for synchronization
      // -----------------------------------------------------------------------
      bool                               fRegistryInitialized;	
      RefHashTableOf<RangeTokenElemMap>* fTokenRegistry;
      RefHashTableOf<RangeFactory>*      fRangeMap;
  	XMLStringPool*                     fCategories;
      TokenFactory*                      fTokenFactory;
      XMLMutex                           fMutex;
      static RangeTokenMap*              fInstance;
  };
  
  // ---------------------------------------------------------------------------
  //  RangeTokenElemMap: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int RangeTokenElemMap::getCategoryId() const {
  
      return fCategoryId;
  }
  
  inline RangeToken* RangeTokenElemMap::getRangeToken(const bool complement) const {
  
  	return complement ? fNRange : fRange;
  }
  
  // ---------------------------------------------------------------------------
  //  RangeTokenElemMap: Setter methods
  // ---------------------------------------------------------------------------
  inline void RangeTokenElemMap::setCategoryId(const unsigned int categId) {
  
      fCategoryId = categId;
  }
  
  inline void RangeTokenElemMap::setRangeToken(RangeToken* const tok,
                                        const bool complement) {
  
      if (complement)
          fNRange = tok;
  	else
          fRange = tok;
  }
  
  // ---------------------------------------------------------------------------
  //  RangeTokenMap: Getter methods
  // ---------------------------------------------------------------------------
  inline RefHashTableOf<RangeTokenElemMap>* RangeTokenMap::getTokenRegistry() const {
  
      return fTokenRegistry;
  }
  
  inline RefHashTableOf<RangeFactory>* RangeTokenMap::getRangeMap() const {
  
      return fRangeMap;
  }
  
  inline XMLStringPool* RangeTokenMap::getCategories() const {
  
      return fCategories;
  }
  
  inline TokenFactory* RangeTokenMap::getTokenFactory() const {
  
      return fTokenFactory;
  }
  
  #endif
  
  /**
    *	End file RangeToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegularExpression.hpp
  
  Index: RegularExpression.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RegularExpression.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(REGULAREXPRESSION_HPP)
  #define REGULAREXPRESSION_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLUniDefs.hpp>
  #include <util/regx/Op.hpp>
  #include <util/regx/TokenFactory.hpp>
  #include <util/regx/BMPattern.hpp>
  #include <util/Janitor.hpp>
  #include <util/Mutexes.hpp>
  #include <util/regx/ModifierToken.hpp>
  #include <util/regx/ConditionToken.hpp>
  #include <util/regx/OpFactory.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class Token;
  class BMPattern;
  class RangeToken;
  class Match;
  class TokenFactory;
  
  class XMLUTIL_EXPORT RegularExpression {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      RegularExpression(const char* const pattern);
      RegularExpression(const char* const pattern, const char* const options);
      RegularExpression(const XMLCh* const pattern);
      RegularExpression(const XMLCh* const pattern, const XMLCh* const options);
      ~RegularExpression();
  
      // -----------------------------------------------------------------------
      //  Public Constants
      // -----------------------------------------------------------------------
      static const unsigned int   MARK_PARENS;
      static const unsigned int   IGNORE_CASE;
      static const unsigned int   SINGLE_LINE;
      static const unsigned int   MULTIPLE_LINE;
      static const unsigned int   EXTENDED_COMMENT;
      static const unsigned int   USE_UNICODE_CATEGORY;
      static const unsigned int   UNICODE_WORD_BOUNDARY;
      static const unsigned int   PROHIBIT_HEAD_CHARACTER_OPTIMIZATION;
      static const unsigned int   PROHIBIT_FIXED_STRING_OPTIMIZATION;
      static const unsigned int   XMLSCHEMA_MODE;
      static const unsigned int   SPECIAL_COMMA;
      static const unsigned short WT_IGNORE;
      static const unsigned short WT_LETTER;
      static const unsigned short WT_OTHER;
  
      // -----------------------------------------------------------------------
      //  Public Helper methods
      // -----------------------------------------------------------------------
      static int getOptionValue(const XMLCh ch);
  
      // -----------------------------------------------------------------------
      //  Matching methods
      // -----------------------------------------------------------------------
      bool matches(const char* const matchString);
      bool matches(const char* const matchString, const int start,
                   const int end);
      bool matches(const char* const matchString, Match* const pMatch);
      bool matches(const char* const matchString, const int start,
                   const int end, Match* const pMatch);
  
      bool matches(const XMLCh* const matchString);
      bool matches(const XMLCh* const matchString, const int start,
                   const int end);
      bool matches(const XMLCh* const matchString, Match* const pMatch);
      bool matches(const XMLCh* const matchString, const int start,
                   const int end, Match* const pMatch);
  
  private:
      // -----------------------------------------------------------------------
      //  Private data types
      // -----------------------------------------------------------------------
      class Context
      {
          public :
              Context();
              ~Context();
  
              inline const XMLCh* getString() const { return fString; }
              void reset(const XMLCh* const string, const int start,
                         const int limit, const int noClosures);
              bool nextCh(XMLInt32& ch, int& offset, const short direction);
  
              bool      fInUse;
              bool      fAdoptMatch;
              int       fStart;
              int       fLimit;
              int       fLength;
              int       fSize;
              int*      fOffsets;
              Match*    fMatch;
              XMLCh*    fString;
  
              friend class Janitor<Context>;
      };
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RegularExpression(const RegularExpression&);
      void operator=(const RegularExpression&);
  
      // -----------------------------------------------------------------------
      //  Cleanup methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setPattern(const XMLCh* const pattern, const XMLCh* const options=0);
  
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
      void prepare();
      int parseOptions(const XMLCh* const options);
      bool isSet(const int options, const int flag);
      unsigned short getWordType(const XMLCh* const target, const int begin,
                                 const int end, const int offset);
      unsigned short getCharType(const XMLCh ch);
      unsigned short getPreviousWordType(const XMLCh* const target,
                                         const int start, const int end,
                                         int offset);
  
      /**
        *    Matching helpers
        */
      int match(Context* const context, const Op* const operations, int offset,
                const short direction);
      bool matchIgnoreCase(const XMLInt32 ch1, const XMLInt32 ch2);
  
      /**
        *    Helper methods used by match(Context* ...)
        */
      bool matchChar(Context* const context, const XMLInt32 ch, int& offset,
                     const short direction, const bool ignoreCase);
      bool matchDot(Context* const context, int& offset, const short direction);
      bool matchRange(Context* const context, const Op* const op,
                      int& offset, const short direction, const bool ignoreCase);
      bool matchAnchor(Context* const context, const XMLInt32 ch,
                       const int offset);
      bool matchBackReference(Context* const context, const XMLInt32 ch,
                              int& offset, const short direction,
                              const bool ignoreCase);
      bool matchString(Context* const context, const XMLCh* const literal,
                       int& offset, const short direction, const bool ignoreCase);
      int  matchUnion(Context* const context, const Op* const op, int offset,
                      const short direction);
      int matchCapture(Context* const context, const Op* const op, int offset,
                       const short direction);
      bool matchCondition(Context* const context, const Op* const op, int offset,
                          const short direction);
      int matchModifier(Context* const context, const Op* const op, int offset,
                        const short direction);
  
      /**
        *    Converts a token tree into an operation tree
        */
      void compile(const Token* const token);
      Op*  compile(const Token* const token, Op* const next,
                   const bool reverse);
      /**
        *    Helper methods used by compile
        */
      Op* compileSingle(const Token* const token, Op* const next,
                        const unsigned short tokType);
      Op* compileUnion(const Token* const token, Op* const next,
                       const bool reverse);
      Op* compileCondition(const Token* const token, Op* const next,
                           const bool reverse);
      Op* compileParenthesis(const Token* const token, Op* const next,
                             const bool reverse);
      Op* compileLook(const Token* const token, const Op* const next,
                      const bool reverse, const unsigned short tokType);
      Op* compileConcat(const Token* const token, Op* const next,
                        const bool reverse);
      Op* compileClosure(const Token* const token, Op* const next,
                         const bool reverse, const unsigned short tokType);
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      bool               fHasBackReferences;
      bool               fFixedStringOnly;
      int                fNoGroups;
      int                fMinLength;
      int                fNoClosures;
      unsigned int       fOptions;
      Context*           fContext;
      BMPattern*         fBMPattern;
      XMLCh*             fPattern;
      XMLCh*             fFixedString;
      Op*                fOperations;
      Token*             fTokenTree;
      RangeToken*        fFirstChar;
      static RangeToken* fWordRange;
      OpFactory          fOpFactory;
      XMLMutex           fMutex;
      TokenFactory*      fTokenFactory;
  };
  
  
  // ---------------------------------------------------------------------------
  //  RegularExpression: Cleanup methods
  // ---------------------------------------------------------------------------
  inline void RegularExpression::cleanUp() {
  
      delete [] fPattern;
      delete [] fFixedString;
      delete fContext;
      delete fBMPattern;
      delete fTokenFactory;
  }
  
  // ---------------------------------------------------------------------------
  //  RegularExpression: Helper methods
  // ---------------------------------------------------------------------------
  inline bool RegularExpression::isSet(const int options, const int flag) {
  
      return (options & flag) == flag;
  }
  
  inline Op* RegularExpression::compileLook(const Token* const token,
                                            const Op* const next,
                                            const bool reverse,
                                            const unsigned short tokType) {
  
      Op*    ret = 0;
      Op*    result = compile(token->getChild(0), 0, reverse);
  
      switch(tokType) {
      case Token::LOOKAHEAD:
          ret = fOpFactory.createLookOp(Op::LOOKAHEAD, next, result);
          break;
      case Token::NEGATIVELOOKAHEAD:
          ret = fOpFactory.createLookOp(Op::NEGATIVELOOKAHEAD, next, result);
          break;
      case Token::LOOKBEHIND:
          ret = fOpFactory.createLookOp(Op::LOOKBEHIND, next, result);
          break;
      case Token::NEGATIVELOOKBEHIND:
          ret = fOpFactory.createLookOp(Op::NEGATIVELOOKBEHIND, next, result);
          break;
      case Token::INDEPENDENT:
          ret = fOpFactory.createIndependentOp(next, result);
          break;
      case Token::MODIFIERGROUP:
          ret = fOpFactory.createModifierOp(next, result,
                                     ((ModifierToken *) token)->getOptions(),
                                     ((ModifierToken *) token)->getOptionsMask());
          break;
      }
  
  
      return ret;
  }
  
  inline Op* RegularExpression::compileSingle(const Token* const token,
                                              Op* const next,
                                              const unsigned short tokType) {
  
      Op* ret = 0;
  
      switch (tokType) {
      case Token::DOT:
          ret = fOpFactory.createDotOp();
          break;
      case Token::CHAR:
          ret = fOpFactory.createCharOp(token->getChar());
          break;
      case Token::ANCHOR:
          ret = fOpFactory.createAnchorOp(token->getChar());
          break;
      case Token::RANGE:
      case Token::NRANGE:
          ret = fOpFactory.createRangeOp(token);
          break;
      case Token::EMPTY:
          ret = next;
          break;
      case Token::STRING:
          ret = fOpFactory.createStringOp(token->getString());
          break;
      case Token::BACKREFERENCE:
          ret = fOpFactory.createBackReferenceOp(token->getReferenceNo());
          break;
      }
  
      if (tokType != Token::EMPTY)
          ret->setNextOp(next);
  
      return ret;
  }
  
  
  inline Op* RegularExpression::compileUnion(const Token* const token,
                                             Op* const next,
                                             const bool reverse) {
  
      int tokSize = token->size();
      UnionOp* uniOp = fOpFactory.createUnionOp(tokSize);
  
      for (int i=0; i<tokSize; i++) {
  
          uniOp->addElement(compile(token->getChild(i), next, reverse));
      }
  
      return uniOp;
  }
  
  
  inline Op* RegularExpression::compileCondition(const Token* const token,
                                                 Op* const next,
                                                 const bool reverse) {
  
      Token* condTok = ((ConditionToken*) token)->getConditionToken();
      Token* yesTok  = token->getChild(0);
      Token* noTok   = token->getChild(1);
      int    refNo   = token->getReferenceNo();
      Op*    condOp  = (condTok == 0) ? 0 : compile(condTok, 0, reverse);
      Op*    yesOp   = compile(yesTok, next, reverse);
      Op*    noOp    = (noTok == 0) ? 0 : compile(noTok, next, reverse);
  
      return fOpFactory.createConditionOp(next, refNo, condOp, yesOp, noOp);
  }
  
  
  inline Op* RegularExpression::compileParenthesis(const Token* const token,
                                                   Op* const next,
                                                   const bool reverse) {
  
      if (token->getNoParen() == 0)
          return compile(token->getChild(0), next, reverse);
  
      Op* captureOp    = 0;
  
      if (reverse) {
  
          captureOp = fOpFactory.createCaptureOp(token->getNoParen(), next);
          captureOp = compile(token->getChild(0), captureOp, reverse);
  
          return fOpFactory.createCaptureOp(-token->getNoParen(), captureOp);
      }
  
      captureOp = fOpFactory.createCaptureOp(-token->getNoParen(), next);
      captureOp = compile(token->getChild(0), captureOp, reverse);
  
      return fOpFactory.createCaptureOp(token->getNoParen(), captureOp);
  }
  
  inline Op* RegularExpression::compileConcat(const Token* const token,
                                              Op*  const next,
                                              const bool reverse) {
  
      Op* ret = next;
      int tokSize = token->size();
  
      if (!reverse) {
  
          for (int i= tokSize - 1; i>=0; i--) {
              ret = compile(token->getChild(i), ret, false);
          }
      }
      else {
  
          for (int i= 0; i< tokSize; i++) {
              ret = compile(token->getChild(i), ret, true);
          }
      }
  
      return ret;
  }
  
  inline Op* RegularExpression::compileClosure(const Token* const token,
                                               Op* const next,
                                               const bool reverse,
                                               const unsigned short tokType) {
  
      Op*    ret      = 0;
      Token* childTok = token->getChild(0);
      int    min      = token->getMin();
      int    max      = token->getMax();
  
      if (min >= 0 && min == max) {
  
          ret = next;
          for (int i=0; i< min; i++) {
              ret = compile(childTok, ret, reverse);
          }
  
          return ret;
      }
  
      if (min > 0 && max > 0)
          max -= min;
  
      if (max > 0) {
  
          ret = next;
          for (int i=0; i<max; i++) {
  
              ChildOp* childOp = fOpFactory.createQuestionOp(
                  tokType == Token::NONGREEDYCLOSURE);
  
              childOp->setNextOp(next);
              childOp->setChild(compile(childTok, ret, reverse));
              ret = childOp;
          }
      }
      else {
  
          ChildOp* childOp = 0;
  
          if (tokType == Token::NONGREEDYCLOSURE) {
              childOp = fOpFactory.createNonGreedyClosureOp();
          }
          else {
  
              if (childTok->getMinLength() == 0)
                  childOp = fOpFactory.createClosureOp(fNoClosures++);
              else
                  childOp = fOpFactory.createClosureOp(-1);
          }
  
          childOp->setNextOp(next);
          childOp->setChild(compile(childTok, childOp, reverse));
          ret = childOp;
      }
  
      if (min > 0) {
  
          for (int i=0; i< min; i++) {
              ret = compile(childTok, ret, reverse);
          }
      }
  
      return ret;
  }
  
  inline int RegularExpression::matchUnion(Context* const context,
                                           const Op* const op, int offset,
                                           const short direction)
  {
      unsigned int opSize = op->getSize();
      int ret = -1;
  
      for (unsigned int i=0; i < opSize; i++) {
  
          ret = match(context, op->elementAt(i), offset, direction);
  
          if (ret == context->fLimit)
              return ret;
      }
  
      return -1;
  }
  
  inline int RegularExpression::matchModifier(Context* const context,
                                              const Op* const op, int offset,
                                              const short direction)
  {
      int saveOptions = fOptions;
      fOptions |= (int) op->getData();
      fOptions &= (int) ~op->getData2();
  
      int ret = match(context, op->getChild(), offset, direction);
  
      fOptions = saveOptions;
  
      return ret;
  }
  
  inline unsigned short RegularExpression::getWordType(const XMLCh* const target
                                                       , const int begin
                                                       , const int end
                                                       , const int offset)
  {
      if (offset < begin || offset >= end)
          return WT_OTHER;
  
      return getCharType(target[offset]);
  }
  
  inline
  unsigned short RegularExpression::getPreviousWordType(const XMLCh* const target
                                                        , const int start
                                                        , const int end
                                                        , int offset)
  {
      unsigned short ret = getWordType(target, start, end, --offset);
  
      while (ret == WT_IGNORE) {
          ret = getWordType(target, start, end, --offset);
      }
  
      return ret;
  }
  
  inline bool RegularExpression::matchIgnoreCase(const XMLInt32 ch1,
                                                 const XMLInt32 ch2)
  {
  
      //REVISIT - for now we will return a case sensitive match
      return (ch1 == ch2);
  }
  
  #endif
  /**
    * End of file RegularExpression.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxDefs.hpp
  
  Index: RegxDefs.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RegxDefs.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(REGXDEFS_HPP)
  #define REGXDEFS_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XercesDefs.hpp>
  #include <util/XMLUniDefs.hpp>
  
  const XMLCh fgXMLCategory[] =
  {
      chLatin_X, chLatin_M, chLatin_L, chNull
  };
  
  static const XMLCh fgASCIICategory[] =
  {
      chLatin_A, chLatin_S, chLatin_C, chLatin_I, chLatin_I, chNull
  };
  
  const XMLCh fgUnicodeCategory[] =
  {
      chLatin_U, chLatin_N, chLatin_I, chLatin_C, chLatin_O, chLatin_D,
      chLatin_E, chNull
  };
  
  const XMLCh fgBlockCategory[] =
  {
      chLatin_B, chLatin_L, chLatin_O, chLatin_C, chLatin_K, chNull
  };
  
  const XMLCh fgXMLSpace[] =
  {
      chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_S,
      chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull
  };
  
  const XMLCh fgXMLDigit[] =
  {
      chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_D,
      chLatin_i, chLatin_g, chLatin_i, chLatin_t, chNull
  };
  
  const XMLCh fgXMLWord[] =
  {
      chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_W,
      chLatin_o, chLatin_r, chLatin_d, chNull
  };
  
  const XMLCh fgXMLNameChar[] =
  {
      chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_N,
      chLatin_a, chLatin_m, chLatin_e, chLatin_C, chLatin_h, chLatin_a,
  	chLatin_r, chNull
  };
  
  const XMLCh fgXMLInitialNameChar[] =
  {
      chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_I,
      chLatin_n, chLatin_i, chLatin_t, chLatin_i, chLatin_a, chLatin_l,
      chLatin_N, chLatin_a, chLatin_m, chLatin_e, chLatin_C, chLatin_h,
      chLatin_a, chLatin_r, chNull
  };
  
  const XMLCh fgASCII[] =
  {
      chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i,
      chLatin_s, chLatin_A, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chNull
  };
  
  const XMLCh fgASCIIDigit[] =
  {
      chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i,
      chLatin_s, chLatin_D, chLatin_i, chLatin_g, chLatin_i, chLatin_t, chNull
  };
  
  const XMLCh fgASCIIWord[] =
  {
      chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i,
      chLatin_s, chLatin_W, chLatin_o, chLatin_r, chLatin_d, chNull
  };
  
  const XMLCh fgASCIISpace[] =
  {
      chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i,
      chLatin_s, chLatin_S, chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull
  };
  
  const XMLCh fgASCIIXDigit[] =
  {
      chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i,
      chLatin_s, chLatin_X, chLatin_D, chLatin_i, chLatin_g, chLatin_i,
      chLatin_t, chNull
  };
  
  
  const XMLCh fgUniAll[] =
  {
      chLatin_A, chLatin_L, chLatin_L, chNull
  };
  
  const XMLCh fgUniIsAlpha[] =
  {
      chLatin_I, chLatin_s, chLatin_A, chLatin_l, chLatin_p, chLatin_h,
      chLatin_a, chNull
  };
  
  const XMLCh fgUniIsAlnum[] =
  {
      chLatin_I, chLatin_s, chLatin_A, chLatin_l, chLatin_n, chLatin_u,
      chLatin_m, chNull
  };
  
  const XMLCh fgUniIsWord[] =
  {
      chLatin_I, chLatin_s, chLatin_W, chLatin_o, chLatin_r, chLatin_d,
      chNull
  };
  
  
  const XMLCh fgUniIsDigit[] =
  {
      chLatin_I, chLatin_s, chLatin_D, chLatin_i, chLatin_g, chLatin_i,
      chLatin_t, chNull
  };
  
  const XMLCh fgUniIsUpper[] =
  {
      chLatin_I, chLatin_s, chLatin_U, chLatin_p, chLatin_p, chLatin_e,
      chLatin_r, chNull
  };
  
  const XMLCh fgUniIsLower[] =
  {
      chLatin_I, chLatin_s, chLatin_L, chLatin_o, chLatin_w, chLatin_e,
      chLatin_r, chNull
  };
  
  const XMLCh fgUniIsPunct[] =
  {
      chLatin_I, chLatin_s, chLatin_P, chLatin_u, chLatin_n, chLatin_c,
      chLatin_t, chNull
  };
  
  const XMLCh fgUniIsSpace[] =
  {
  	chLatin_I, chLatin_s, chLatin_S, chLatin_p, chLatin_a, chLatin_c,
      chLatin_e, chNull
  };
  
  const XMLCh fgUniAssigned[] =
  {
      chLatin_A, chLatin_S, chLatin_S, chLatin_I, chLatin_G, chLatin_N,
      chLatin_E, chLatin_D, chNull
  };
  
  
  const XMLCh fgUniDecimalDigit[] =
  {
      chLatin_N, chLatin_d, chNull
  };
  
  const XMLCh fgBlockSpecials[] =
  {
      chLatin_S, chLatin_p, chLatin_e, chLatin_c, chLatin_i, chLatin_a,
      chLatin_l, chLatin_s, chNull
  };
  
  const XMLCh fgUniLetter[] =
  {
      chLatin_L, chNull
  };
  
  const XMLCh fgUniNumber[] =
  {
      chLatin_N, chNull
  };
  
  const XMLCh fgUniMark[] =
  {
      chLatin_M, chNull
  };
  
  const XMLCh fgUniSeparator[] =
  {
      chLatin_Z, chNull
  };
  
  const XMLCh fgUniPunctuation[] =
  {
      chLatin_P, chNull
  };
  
  const XMLCh fgUniControl[] =
  {
      chLatin_C, chNull
  };
  
  const XMLCh fgUniSymbol[] =
  {
      chLatin_S, chNull
  };
  
  #endif
  
  /**
    * End of file RegxDefs.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxParser.hpp
  
  Index: RegxParser.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RegxParser.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  /*
   *	A regular expression parser
   */
  #if !defined(REGXPARSER_HPP)
  #define REGXPARSER_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/RefVectorOf.hpp>
  #include <util/XMLUniDefs.hpp>
  #include <util/Mutexes.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class Token;
  class RangeToken;
  class TokenFactory;
  
  class XMLUTIL_EXPORT RegxParser {
  public:
  
  	// -----------------------------------------------------------------------
      //  Public constant data
      // -----------------------------------------------------------------------
  	enum {
  		T_CHAR						= 0,
  		T_EOF						= 1,
  		T_OR						= 2,
  		T_STAR						= 3,
  		T_PLUS						= 4,
  		T_QUESTION					= 5,
  		T_LPAREN					= 6,
  		T_RPAREN					= 7,
  		T_DOT						= 8,
  		T_LBRACKET					= 9,
  		T_BACKSOLIDUS				= 10,
  		T_CARET						= 11,
  		T_DOLLAR					= 12,
  		T_LPAREN2					= 13,
  		T_LOOKAHEAD					= 14,
  		T_NEGATIVELOOKAHEAD			= 15,
  		T_LOOKBEHIND				= 16,
  		T_NEGATIVELOOKBEHIND		= 17,
  		T_INDEPENDENT				= 18,
  		T_SET_OPERATIONS			= 19,
  		T_POSIX_CHARCLASS_START		= 20,
  		T_COMMENT					= 21,
  		T_MODIFIERS					= 22,
  		T_CONDITION					= 23,
  		T_XMLSCHEMA_CC_SUBTRACTION	= 24
  	};
  
  	static const unsigned short S_NORMAL;
  	static const unsigned short S_INBRACKETS;
  	static const unsigned short S_INXBRACKETS;
  
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	RegxParser();
  	virtual ~RegxParser();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned short getParseContext() const;
      unsigned short getState() const;
      XMLInt32       getCharData() const;
      int            getNoParen() const;
  	int            getOffset() const;
  	bool           hasBackReferences() const;
      TokenFactory*  getTokenFactory() const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setParseContext(const unsigned short value);
      void setTokenFactory(TokenFactory* const tokFactory);
  
  	// -----------------------------------------------------------------------
      //  Public Parsing methods
      // -----------------------------------------------------------------------
  	Token* parse(const XMLCh* const regxStr, const int options);
  
  protected:
      // -----------------------------------------------------------------------
      //  Protected Helper methods
      // -----------------------------------------------------------------------
      virtual bool        checkQuestion(const int off);
  	virtual XMLInt32    decodeEscaped();
  
      // -----------------------------------------------------------------------
      //  Protected Parsing/Processing methods
      // -----------------------------------------------------------------------
  	void                processNext();
  	Token*              parseRegx();
  	virtual Token*      processCaret();
      virtual Token*      processDollar();
  	virtual Token*      processLook(const unsigned short tokType);
      virtual Token*      processBacksolidus_A();
      virtual Token*      processBacksolidus_z();
      virtual Token*      processBacksolidus_Z();
      virtual Token*      processBacksolidus_b();
      virtual Token*      processBacksolidus_B();
      virtual Token*      processBacksolidus_lt();
      virtual Token*      processBacksolidus_gt();
      virtual Token*      processBacksolidus_c();
      virtual Token*      processBacksolidus_C();
      virtual Token*      processBacksolidus_i();
      virtual Token*      processBacksolidus_I();
      virtual Token*      processBacksolidus_g();
      virtual Token*      processBacksolidus_X();
      virtual Token*      processBackReference();
  	virtual Token*      processStar(Token* const tok);
  	virtual Token*      processPlus(Token* const tok);
  	virtual Token*      processQuestion(Token* const tok);
      virtual Token*      processParen();
      virtual Token*      processParen2();
      virtual Token*      processCondition();
      virtual Token*      processModifiers();
      virtual Token*      processIndependent();
      virtual RangeToken* parseCharacterClass(const bool useNRange);
      virtual RangeToken* parseSetOperations();
  	virtual XMLInt32    processCInCharacterClass(RangeToken* const tok,
                                                   const XMLInt32 ch);
      RangeToken*         processBacksolidus_pP(const XMLInt32 ch);
  
      // -----------------------------------------------------------------------
      //  Protected PreCreated RangeToken access methods
      // -----------------------------------------------------------------------
  	virtual Token*      getTokenForShorthand(const XMLInt32 ch);
  
  private:
      // -----------------------------------------------------------------------
      //  Private parsing/processing methods
      // -----------------------------------------------------------------------
      Token* parseTerm();
  	Token* parseFactor();
  	Token* parseAtom();
  
  	// -----------------------------------------------------------------------
      //  Private data types
      // -----------------------------------------------------------------------
      class ReferencePosition
      {
          public :
              ReferencePosition(const int refNo, const int position);
  
              int	fReferenceNo;
  			int	fPosition;
      };
  
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
      bool isSet(const int flag);
  	int hexChar(const XMLInt32 ch);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	bool                            fHasBackReferences;
  	int                             fOptions;
  	int                             fOffset;
  	int                             fNoGroups;
  	int                             fParseContext;
  	int                             fStringLen;
  	unsigned short                  fState;
  	XMLInt32                        fCharData;
  	XMLCh*                          fString;
  	RefVectorOf<ReferencePosition>* fReferences;
      TokenFactory*                   fTokenFactory;
  	XMLMutex						fMutex;
  };
  
  
  // ---------------------------------------------------------------------------
  //  RegxParser: Getter Methods
  // ---------------------------------------------------------------------------
  inline unsigned short RegxParser::getParseContext() const {
  
      return fParseContext;
  }
  
  inline unsigned short RegxParser::getState() const {
  
  	return fState;
  }
  
  inline XMLInt32 RegxParser::getCharData() const {
  
      return fCharData;
  }
  
  inline int RegxParser::getNoParen() const {
  
      return fNoGroups;
  }
  
  inline int RegxParser::getOffset() const {
  
  	return fOffset;
  }
  
  inline bool RegxParser::hasBackReferences() const {
  
  	return fHasBackReferences;
  }
  
  inline TokenFactory* RegxParser::getTokenFactory() const {
  
      return fTokenFactory;
  }
  
  // ---------------------------------------------------------------------------
  //  RegxParser: Setter Methods
  // ---------------------------------------------------------------------------
  inline void RegxParser::setParseContext(const unsigned short value) {
  
  	fParseContext = value;
  }
  
  inline void RegxParser::setTokenFactory(TokenFactory* const tokFactory) {
  
      fTokenFactory = tokFactory;
  }
  
  // ---------------------------------------------------------------------------
  //  RegxParser: Helper Methods
  // ---------------------------------------------------------------------------
  inline bool RegxParser::isSet(const int flag) {
  
      return (fOptions & flag) == flag;
  }
  
  
  inline int RegxParser::hexChar(const XMLInt32 ch) {
  
  	if (ch < chDigit_0 || ch > chLatin_f)
  		return -1;
  
  	if (ch <= chDigit_9)
  		return ch - chDigit_0;
  
  	if (ch < chLatin_A)
  		return -1;
  
  	if (ch <= chLatin_F)
  		return ch - chLatin_A + 10;
  
  	if (ch < chLatin_a)
  		return -1;
  
  	return ch - chLatin_a + 10;
  }
  
  #endif
  
  /**
    *	End file RegxParser.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/RegxUtil.hpp
  
  Index: RegxUtil.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: RegxUtil.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(REGXUTIL_HPP)
  #define REGXUTIL_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLString.hpp>
  #include <util/XMLUniDefs.hpp>
  
  class XMLUTIL_EXPORT RegxUtil {
  public:
  
  	// -----------------------------------------------------------------------
      //  Constructors and destructors
      // -----------------------------------------------------------------------
  	~RegxUtil() {}
  
  	static XMLInt32 composeFromSurrogate(const XMLCh high, const XMLCh low);
  	static bool isEOLChar(const XMLCh);
  	static bool isWordChar(const XMLCh);
  	static bool isLowSurrogate(const XMLCh ch);
  	static bool isHighSurrogate(const XMLCh ch);
  	static XMLCh* decomposeToSurrogates(XMLInt32 ch);
  	static XMLCh* stripExtendedComment(const XMLCh* const expression);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      RegxUtil();
  };
  
  
  inline bool RegxUtil::isEOLChar(const XMLCh ch) {
  
  	return (ch == chLF || ch == chCR || ch == chLineSeparator
             || ch == chParagraphSeparator);
  }
  
  inline XMLInt32 RegxUtil::composeFromSurrogate(const XMLCh high, const XMLCh low) {
  
  	return 0x10000 + ((high - 0xD800) << 10) + (low - 0xDC00);
  }
  
  inline bool RegxUtil::isLowSurrogate(const XMLCh ch) {
  
  	return (ch & 0xFC00) == 0xDC00;
  }
  
  inline bool RegxUtil::isHighSurrogate(const XMLCh ch) {
  
  	return (ch & 0xFC00) == 0xD800;
  }
  
  inline bool RegxUtil::isWordChar(const XMLCh ch) {
  
  	if ((ch == chUnderscore)
  		|| (ch >= chDigit_0 && ch <= chDigit_9)
  		|| (ch >= chLatin_A && ch <= chLatin_Z)
  		|| (ch >= chLatin_a && ch <= chLatin_z))
  		return true;
  
  	return false;
  }
  
  #endif
  
  /**
    * End of file RegxUtil.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/StringToken.hpp
  
  Index: StringToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: StringToken.hpp,v 1.1 2002/03/22 00:42:01 sanjiva Exp $
   */
  
  #if !defined(STRINGTOKEN_HPP)
  #define STRINGTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  #include <util/XMLString.hpp>
  
  
  class XMLUTIL_EXPORT StringToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	StringToken(const unsigned short tokType, const XMLCh* const literal,
                  const int refNo);
  	~StringToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	int getReferenceNo() const;
  	const XMLCh* getString() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setString(const XMLCh* const literal);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      StringToken(const StringToken&);
      void operator=(const StringToken&);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	int    fRefNo;
  	XMLCh* fString;
  };
  
  
  // ---------------------------------------------------------------------------
  //  StringToken: getter methods
  // ---------------------------------------------------------------------------
  inline int StringToken::getReferenceNo() const {
  
  	return fRefNo;
  }
  
  inline const XMLCh* StringToken::getString() const {
  
  	return fString;
  }
  
  // ---------------------------------------------------------------------------
  //  StringToken: Setter methods
  // ---------------------------------------------------------------------------
  inline void StringToken::setString(const XMLCh* const literal) {
  
  	delete [] fString;
  	fString = XMLString::replicate(literal);
  }
  
  #endif
  
  /**
    * End of file StringToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/Token.hpp
  
  Index: Token.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: Token.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(TOKEN_HPP)
  #define TOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XercesDefs.hpp>
  #include <util/RuntimeException.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class RangeToken;
  class TokenFactory;
  
  
  class XMLUTIL_EXPORT Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	Token(const unsigned short tokType);
  	virtual ~Token();
  
  	// -----------------------------------------------------------------------
      //  Public Constants
      // -----------------------------------------------------------------------
  	// Token types
  	enum {
  		CHAR = 0,
  		CONCAT = 1,
  		UNION = 2,
  		CLOSURE = 3,
  		RANGE = 4,
  		NRANGE = 5,
  		PAREN = 6,
  		EMPTY = 7,
  		ANCHOR = 8,
  		NONGREEDYCLOSURE = 9,
  		STRING = 10,
  		DOT = 11,
  		BACKREFERENCE = 12,
  		LOOKAHEAD = 20,
  		NEGATIVELOOKAHEAD = 21,
  		LOOKBEHIND = 22,
  		NEGATIVELOOKBEHIND = 23,
  		INDEPENDENT = 24,
  		MODIFIERGROUP = 25,
  		CONDITION = 26
  	};
  
  	static const XMLInt32		UTF16_MAX;
  	static const unsigned short FC_CONTINUE;
  	static const unsigned short FC_TERMINAL;
  	static const unsigned short FC_ANY;
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
  	unsigned short       getTokenType() const;
  	int                  getMinLength() const;
      int                  getMaxLength() const;
  	virtual Token*       getChild(const int index) const;
  	virtual int          size() const;
      virtual int          getMin() const;
      virtual int          getMax() const;
      virtual int          getNoParen() const;
  	virtual int          getReferenceNo() const;
      virtual const XMLCh* getString() const;
  	virtual XMLInt32     getChar() const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
  	void setTokenType(const unsigned short tokType);
  	virtual void setMin(const int minVal);
  	virtual void setMax(const int maxVal);
  
      // -----------------------------------------------------------------------
      //  Range manipulation methods
      // -----------------------------------------------------------------------
  	virtual void addRange(const XMLInt32 start, const XMLInt32 end);
  	virtual void mergeRanges(const Token *const tok);
  	virtual void sortRanges();
  	virtual void compactRanges();
  	virtual void subtractRanges(RangeToken* const tok);
  	virtual void intersectRanges(RangeToken* const tok);
  
  	// -----------------------------------------------------------------------
      //  Putter methods
      // -----------------------------------------------------------------------
  	virtual void addChild(Token* const child, TokenFactory* const tokFactory);
  
  	// -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
  	int analyzeFirstCharacter(RangeToken* const rangeTok, const int options,
                                TokenFactory* const tokFactory);
      Token* findFixedString(int options, int& outOptions);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      Token(const Token&);
      void operator=(const Token&);
  
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
  	bool isSet(const int options, const unsigned int flag);
      bool isShorterThan(Token* const tok);
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	unsigned short fTokenType;
  };
  
  
  // ---------------------------------------------------------------------------
  //  Token: getter methods
  // ---------------------------------------------------------------------------
  inline unsigned short Token::getTokenType() const {
  
  	return fTokenType;
  }
  
  inline int Token::size() const {
  
  	return 0;
  }
  
  inline Token* Token::getChild(const int index) const {
  
  	return 0;
  }
  
  inline int Token::getMin() const {
  
      return -1;
  }
  
  inline int Token::getMax() const {
  
      return -1;
  }
  
  inline int Token::getReferenceNo() const {
  
      return 0;
  }
  
  inline int Token::getNoParen() const {
  
      return 0;
  }
  
  inline const XMLCh* Token::getString() const {
  
      return 0;
  }
  
  inline XMLInt32 Token::getChar() const {
  
      return -1;
  }
  
  // ---------------------------------------------------------------------------
  //  Token: setter methods
  // ---------------------------------------------------------------------------
  inline void Token::setTokenType(const unsigned short tokType) {
  	
  	fTokenType = tokType;
  }
  
  inline void Token::setMax(const int maxVal) {
  	// ClosureToken
  }
  
  inline void Token::setMin(const int minVal) {
  	// ClosureToken
  }
  
  inline bool Token::isSet(const int options, const unsigned int flag) {
  
  	return (options & flag) == flag;
  }
  
  // ---------------------------------------------------------------------------
  //  Token: setter methods
  // ---------------------------------------------------------------------------
  inline void Token::addChild(Token* const child, TokenFactory* const tokFactory) {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  // ---------------------------------------------------------------------------
  //  Token: Range manipulation methods
  // ---------------------------------------------------------------------------
  inline void Token::addRange(const XMLInt32 start, const XMLInt32 end) {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  inline void Token::mergeRanges(const Token *const tok) {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  inline void Token::sortRanges() {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  inline void Token::compactRanges() {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  inline void Token::subtractRanges(RangeToken* const tok) {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  inline void Token::intersectRanges(RangeToken* const tok) {
  
      ThrowXML(RuntimeException, XMLExcepts::Regex_NotSupported);
  }
  
  #endif
  
  /**
    * End of file Token.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/TokenFactory.hpp
  
  Index: TokenFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: TokenFactory.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(TOKENFACTORY_HPP)
  #define TOKENFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLUniDefs.hpp>
  #include <util/RefHashTableOf.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/regx/Token.hpp>
  #include <util/Mutexes.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declaration
  // ---------------------------------------------------------------------------
  class RangeToken;
  class CharToken;
  class ClosureToken;
  class ConditionToken;
  class ConcatToken;
  class ModifierToken;
  class ParenToken;
  class StringToken;
  class UnionToken;
  
  class XMLUTIL_EXPORT TokenFactory {
  
  public:
  	// -----------------------------------------------------------------------
      //  Constructors and destructors
      // -----------------------------------------------------------------------
      TokenFactory();
      ~TokenFactory();
  
      // -----------------------------------------------------------------------
      //  Factory methods
      // -----------------------------------------------------------------------
      Token* createToken(const unsigned short tokType);
  
      ParenToken* createLook(const unsigned short tokType, Token* const token);
      ParenToken* createParenthesis(Token* const token, const int noGroups);
      ClosureToken* createClosure(Token* const token, bool isNonGreedy = false);
      ConcatToken* createConcat(Token* const token1, Token* const token2);
      UnionToken* createUnion(const bool isConcat = false);
      RangeToken* createRange(const bool isNegRange = false);
      CharToken* createChar(const XMLUInt32 ch, const bool isAnchor = false);
      StringToken* createBackReference(const int refNo);
      StringToken* createString(const XMLCh* const literal);
      ModifierToken* createModifierGroup(Token* const child,
                                         const int add, const int mask);
      ConditionToken* createCondition(const int refNo, Token* const condition,
                                      Token* const yesFlow, Token* const noFlow);
  
  
  	//static void printUnicode();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      /*
       *  Gets a commonly used RangeToken from the token registry based on the
       *  range name.
       */
      RangeToken* getRange(const XMLCh* const name,const bool complement=false);
      Token* getLineBegin();
  	Token* getLineBegin2();
      Token* getLineEnd();
      Token* getStringBegin();
      Token* getStringEnd();
      Token* getStringEnd2();
      Token* getWordEdge();
      Token* getNotWordEdge();
      Token* getWordBegin();
      Token* getWordEnd();
      Token* getDot();
  	Token* getCombiningCharacterSequence();
  	Token* getGraphemePattern();
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      TokenFactory(const TokenFactory&);
      void operator=(const TokenFactory&);
  
      // -----------------------------------------------------------------------
      //  Private Helpers methods
      // -----------------------------------------------------------------------
      /*
       *  Initializes the registry with a set of commonly used RangeToken
       *  objects.
       */
      void initializeRegistry();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fRangeInitialized
      //      Indicates whether we have initialized the RangeFactory instance or
      //      not
  	//		
      //  fToken
      //      Contains user created Token objects. Used for memory cleanup.
      // -----------------------------------------------------------------------
      bool                fRangeInitialized;
  	XMLMutex            fMutex;
      RefVectorOf<Token>* fTokens;
      Token*              fEmpty;
      Token*              fLineBegin;
      Token*              fLineBegin2;
      Token*              fLineEnd;
      Token*              fStringBegin;
      Token*              fStringEnd;
      Token*              fStringEnd2;
      Token*              fWordEdge;
      Token*              fNotWordEdge;
      Token*              fWordEnd;
      Token*              fWordBegin;
      Token*              fDot;
  	Token*              fCombiningChar;
  	Token*              fGrapheme;
  };
  
  
  #endif
  
  /**
    *	End file TokenFactory
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/TokenInc.hpp
  
  Index: TokenInc.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: TokenInc.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(TOKENINC_HPP)
  #define TOKENINC_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RangeToken.hpp>
  #include <util/regx/CharToken.hpp>
  #include <util/regx/ClosureToken.hpp>
  #include <util/regx/ConcatToken.hpp>
  #include <util/regx/ConditionToken.hpp>
  #include <util/regx/ModifierToken.hpp>
  #include <util/regx/ParenToken.hpp>
  #include <util/regx/StringToken.hpp>
  #include <util/regx/UnionToken.hpp>
  
  
  #endif
  
  /**
    * End of file TokenInc.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UniCharTable.hpp
  
  Index: UniCharTable.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  // ---------------------------------------------------------------------------
  //  These are Unicode character type lookup table. The table is used by the
  //  XMLUniCharacter class to return the type of a given XMLCh char
  //  (i.e LowercaseLetter, TitlecaseLetter, DigitOther, etc...) in case
  //  ICU is not used.
  // ---------------------------------------------------------------------------
  const XMLByte fgUniCharsTable[0x10000] =
  {
        0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0C, 0x0E, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F
      , 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0C
      , 0x0C, 0x17, 0x17, 0x17, 0x19, 0x17, 0x17, 0x17, 0x14, 0x15, 0x17, 0x18, 0x17, 0x13, 0x17, 0x17
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x17, 0x17, 0x18, 0x18, 0x18, 0x17
      , 0x17, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 0x17, 0x15, 0x1A, 0x16
      , 0x1A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x14, 0x18, 0x15, 0x18, 0x0F
      , 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F
      , 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F
      , 0x0C, 0x17, 0x19, 0x19, 0x19, 0x19, 0x1B, 0x1B, 0x1A, 0x1B, 0x02, 0x1C, 0x18, 0x13, 0x1B, 0x1A
      , 0x1B, 0x18, 0x0B, 0x0B, 0x1A, 0x02, 0x1B, 0x17, 0x1A, 0x0B, 0x02, 0x1D, 0x0B, 0x0B, 0x0B, 0x17
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x18, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01
      , 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02
      , 0x02, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01
      , 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x02, 0x01
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01
      , 0x02, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x02, 0x05, 0x01, 0x02, 0x02, 0x02
      , 0x05, 0x05, 0x05, 0x05, 0x01, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x02, 0x01
      , 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x02, 0x01, 0x03, 0x02, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x00, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00
      , 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1A, 0x1A, 0x04, 0x04, 0x04, 0x04, 0x04
      , 0x04, 0x04, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A
      , 0x04, 0x04, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A
      , 0x04, 0x04, 0x04, 0x04, 0x04, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x04, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x17, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x01, 0x17, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01
      , 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00
      , 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x1B, 0x06, 0x06, 0x06, 0x06, 0x00, 0x07, 0x07, 0x00, 0x00, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x04, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
      , 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x17, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x17, 0x06
      , 0x17, 0x06, 0x06, 0x17, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x17, 0x17, 0x17, 0x17, 0x00, 0x00
      , 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x17, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x04, 0x06, 0x06, 0x1B, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x05, 0x05, 0x1B, 0x1B, 0x00
      , 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x00, 0x10
      , 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x06, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x06, 0x05, 0x08, 0x08
      , 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x05, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x06, 0x06, 0x17, 0x17, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05
      , 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x06, 0x00, 0x08, 0x08
      , 0x08, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x05
      , 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x05, 0x05, 0x19, 0x19, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x06, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x05
      , 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x00, 0x05, 0x05, 0x00, 0x05, 0x05, 0x00, 0x00, 0x06, 0x00, 0x08, 0x08
      , 0x08, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x06, 0x06, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x06, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05
      , 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x06, 0x05, 0x08, 0x08
      , 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x08, 0x00, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05
      , 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x06, 0x05, 0x08, 0x06
      , 0x08, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x05
      , 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x06, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x05
      , 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
      , 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x0B, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x08, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
      , 0x06, 0x08, 0x08, 0x08, 0x08, 0x00, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06
      , 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x06, 0x08, 0x08, 0x00, 0x08, 0x08, 0x06, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00
      , 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
      , 0x08, 0x06, 0x06, 0x06, 0x00, 0x00, 0x08, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08, 0x06, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x08, 0x08, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x08
      , 0x08, 0x08, 0x06, 0x06, 0x06, 0x00, 0x06, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x08, 0x08, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x06, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x19
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x17
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x05, 0x05, 0x00, 0x05, 0x00, 0x00, 0x05, 0x05, 0x00, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x00, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05
      , 0x05, 0x06, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x05, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x04, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x1B, 0x1B, 0x1B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
      , 0x17, 0x17, 0x17, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x06, 0x06, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x06, 0x1B, 0x06, 0x1B, 0x06, 0x14, 0x15, 0x14, 0x15, 0x08, 0x08
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x17, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x06, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x1B
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x00, 0x08, 0x06, 0x06, 0x06
      , 0x06, 0x08, 0x06, 0x00, 0x00, 0x00, 0x06, 0x06, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x08, 0x08, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09
      , 0x09, 0x09, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x17, 0x17, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x0C, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x14, 0x15, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x17, 0x17, 0x17, 0x0B, 0x0B
      , 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x08, 0x08, 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x08, 0x08
      , 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x08, 0x08, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x06, 0x06, 0x06, 0x06, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x19, 0x17, 0x00, 0x00, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x17, 0x17, 0x17, 0x17, 0x10, 0x10, 0x10, 0x10, 0x00
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02
      , 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x03, 0x1A, 0x02, 0x1A
      , 0x1A, 0x1A, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x03, 0x1A, 0x1A, 0x1A
      , 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x1A, 0x1A, 0x1A
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1A, 0x1A, 0x1A
      , 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x03, 0x1A, 0x1A, 0x00
      , 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x10, 0x10, 0x10, 0x10
      , 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x17, 0x17, 0x1C, 0x1D, 0x14, 0x1C, 0x1C, 0x1D, 0x14, 0x1C
      , 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x0D, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C
      , 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x1C, 0x1D, 0x17, 0x17, 0x17, 0x17, 0x16
      , 0x16, 0x17, 0x17, 0x17, 0x18, 0x14, 0x15, 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10
      , 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x18, 0x18, 0x18, 0x14, 0x15, 0x02
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x18, 0x18, 0x18, 0x14, 0x15, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07
      , 0x07, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x01, 0x1B, 0x1B, 0x1B, 0x1B, 0x01, 0x1B, 0x1B, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02
      , 0x01, 0x01, 0x01, 0x02, 0x1B, 0x01, 0x1B, 0x1B, 0x1B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x01, 0x1B, 0x01, 0x1B, 0x01, 0x1B, 0x01, 0x01, 0x01, 0x01, 0x1B, 0x02
      , 0x01, 0x01, 0x1B, 0x01, 0x02, 0x05, 0x05, 0x05, 0x05, 0x02, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A
      , 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A
      , 0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18, 0x18, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x18, 0x1B, 0x1B, 0x18, 0x1B, 0x1B, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18, 0x18
      , 0x1B, 0x1B, 0x18, 0x1B, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18
      , 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x18, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x14, 0x15, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x18, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x18
      , 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x00, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00
      , 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x00, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00
      , 0x0C, 0x17, 0x17, 0x17, 0x1B, 0x04, 0x05, 0x0A, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15
      , 0x14, 0x15, 0x1B, 0x1B, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x13, 0x14, 0x15, 0x15
      , 0x1B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06
      , 0x13, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1B, 0x1B, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x1B, 0x1B
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x1A, 0x1A, 0x04, 0x04, 0x00
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x16, 0x04, 0x04, 0x04, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00
      , 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x1B, 0x1B, 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x1B
      , 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B
      , 0x1B, 0x00, 0x1B, 0x1B, 0x1B, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x18, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x05, 0x00
      , 0x05, 0x05, 0x00, 0x05, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x14, 0x15
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      , 0x17, 0x13, 0x13, 0x16, 0x16, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x14
      , 0x15, 0x14, 0x15, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16
      , 0x17, 0x17, 0x17, 0x00, 0x17, 0x17, 0x17, 0x17, 0x13, 0x14, 0x15, 0x14, 0x15, 0x14, 0x15, 0x17
      , 0x17, 0x17, 0x18, 0x13, 0x18, 0x18, 0x18, 0x00, 0x17, 0x19, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00
      , 0x05, 0x05, 0x05, 0x00, 0x05, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x10
      , 0x00, 0x17, 0x17, 0x17, 0x19, 0x17, 0x17, 0x17, 0x14, 0x15, 0x17, 0x18, 0x17, 0x13, 0x17, 0x17
      , 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x17, 0x17, 0x18, 0x18, 0x18, 0x17
      , 0x17, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
      , 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 0x17, 0x15, 0x1A, 0x16
      , 0x1A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
      , 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x14, 0x18, 0x15, 0x18, 0x00
      , 0x00, 0x17, 0x14, 0x15, 0x17, 0x16, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00
      , 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05
      , 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00
      , 0x19, 0x19, 0x18, 0x1A, 0x1B, 0x19, 0x19, 0x00, 0x1B, 0x18, 0x18, 0x18, 0x18, 0x1B, 0x1B, 0x00
      , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x1B, 0x1B, 0x00, 0x00
  };
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UnicodeRangeFactory.hpp
  
  Index: UnicodeRangeFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UnicodeRangeFactory.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(UNICODERANGEFACTORY_HPP)
  #define UNICODERANGEFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RangeFactory.hpp>
  
  
  class XMLUTIL_EXPORT UnicodeRangeFactory: public RangeFactory {
  
  public:
      // -----------------------------------------------------------------------
      //  Constructors and operators
      // -----------------------------------------------------------------------
      UnicodeRangeFactory();
      ~UnicodeRangeFactory();
  
      // -----------------------------------------------------------------------
      //  Initialization methods
      // -----------------------------------------------------------------------
  	void initializeKeywordMap();
  
  protected:
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
  	void buildRanges();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      UnicodeRangeFactory(const UnicodeRangeFactory&);
      void operator=(const UnicodeRangeFactory&);
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
  	unsigned short getUniCategory(const unsigned short type);
  
  	static bool fRangesCreated;
  	static bool fKeywordsInitialized;
  };
  
  #endif
  
  /**
    *	End file UnicodeRangeFactory.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/UnionToken.hpp
  
  Index: UnionToken.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UnionToken.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(UNIONTOKEN_HPP)
  #define UNIONTOKEN_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/Token.hpp>
  #include <util/RefVectorOf.hpp>
  
  
  class XMLUTIL_EXPORT UnionToken : public Token {
  public:
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
  	UnionToken(const unsigned short tokType);
      ~UnionToken();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      int size() const;
      Token* getChild(const int index) const;
  
  	// -----------------------------------------------------------------------
      //  Children manipulation methods
      // -----------------------------------------------------------------------
      void addChild(Token* const child, TokenFactory* const tokFactory);
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      UnionToken(const UnionToken&);
      void operator=(const UnionToken&);
  
  	// -----------------------------------------------------------------------
      //  Private Constants
      // -----------------------------------------------------------------------
  	static const unsigned short INITIALSIZE;
  
  	// -----------------------------------------------------------------------
      //  Private data members
  	// -----------------------------------------------------------------------
  	RefVectorOf<Token>* fChildren;
  };
  
  
  // ---------------------------------------------------------------------------
  //  UnionToken: getter methods
  // ---------------------------------------------------------------------------
  inline int UnionToken::size() const {
  
      return fChildren == 0 ? 0 : fChildren->size();
  }
  
  inline Token* UnionToken::getChild(const int index) const {
  
      return fChildren->elementAt(index);
  }
  
  #endif
  
  /**
    * End of file UnionToken.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/XMLRangeFactory.hpp
  
  Index: XMLRangeFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLRangeFactory.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(XMLRANGEFACTORY_HPP)
  #define XMLRANGEFACTORY_HPP
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/regx/RangeFactory.hpp>
  
  
  class XMLUTIL_EXPORT XMLRangeFactory: public RangeFactory {
  
  public:
      // -----------------------------------------------------------------------
      //  Constructors and operators
      // -----------------------------------------------------------------------
      XMLRangeFactory();
      ~XMLRangeFactory();
  
      // -----------------------------------------------------------------------
      //  Initialization methods
      // -----------------------------------------------------------------------
  	void initializeKeywordMap();
  
  protected:
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
  	void buildRanges();
  
  private:
  	// -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XMLRangeFactory(const XMLRangeFactory&);
      void operator=(const XMLRangeFactory&);
  
  	static bool fRangesCreated;
  	static bool fKeywordsInitialized;
  };
  
  #endif
  
  /**
    *	End file XMLRangeFactory.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/util/regx/XMLUniCharacter.hpp
  
  Index: XMLUniCharacter.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XMLUniCharacter.hpp,v 1.1 2002/03/22 00:42:02 sanjiva Exp $
   */
  
  #if !defined(XMLUNICHARACTER_HPP)
  #define XMLUNICHARACTER_HPP
  
  #include <util/XercesDefs.hpp>
  
  
  /**
    * Class for representing unicode characters
    */
  class XMLUTIL_EXPORT XMLUniCharacter
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constants
      // -----------------------------------------------------------------------
      // Unicode chara types
      enum {
          UNASSIGNED              = 0,
          UPPERCASE_LETTER        = 1,
          LOWERCASE_LETTER        = 2,
          TITLECASE_LETTER        = 3,
          MODIFIER_LETTER         = 4,
          OTHER_LETTER            = 5,
          NON_SPACING_MARK        = 6,
          ENCLOSING_MARK          = 7,
          COMBINING_SPACING_MARK  = 8,
          DECIMAL_DIGIT_NUMBER    = 9,
          LETTER_NUMBER           = 10,
          OTHER_NUMBER            = 11,
          SPACE_SEPARATOR         = 12,
          LINE_SEPARATOR          = 13,
          PARAGRAPH_SEPARATOR     = 14,
          CONTROL                 = 15,
          FORMAT                  = 16,
          PRIVATE_USE             = 17,
          SURROGATE               = 18,
          DASH_PUNCTUATION        = 19,
          START_PUNCTUATION       = 20,
          END_PUNCTUATION         = 21,
  		CONNECTOR_PUNCTUATION   = 22,
          OTHER_PUNCTUATION       = 23,
          MATH_SYMBOL             = 24,
          CURRENCY_SYMBOL         = 25,
          MODIFIER_SYMBOL         = 26,
          OTHER_SYMBOL            = 27,
  		INITIAL_PUNCTUATION     = 28,
  		FINAL_PUNCTUATION       = 29
  	};
  
  	/** destructor */
      ~XMLUniCharacter() {}
  
      /* Static methods for getting unicode character type */
      /** @name Getter functions */
      //@{
  
      /** Gets the unicode type of a given character
        *
        * @param ch The character we want to get its unicode type
        */
      static unsigned short getType(const XMLCh ch);
  	//@}
  
  private :
  
      /** @name Constructors and Destructor */
      //@{
      /** Unimplemented default constructor */
      XMLUniCharacter();
      //@}
  };
  
  #endif
  
  /**
    * End of file XMLUniCharacter.hpp
    */
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDAttDef.hpp
  
  Index: DTDAttDef.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDAttDef.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:26  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:39  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(DTDATTDEF_HPP)
  #define DTDATTDEF_HPP
  
  #include <util/XMLString.hpp>
  #include <framework/XMLAttDef.hpp>
  
  
  //
  //  This class is a derivative of the core XMLAttDef class. This class adds
  //  any DTD specific data members and provides DTD specific implementations
  //  of any underlying attribute def virtual methods.
  //
  //  In the DTD we don't do namespaces, so the attribute names are just the
  //  QName literally from the DTD. This is what we return as the full name,
  //  which is what is used to key these in any name keyed collections.
  //
  class VALIDATORS_EXPORT DTDAttDef : public XMLAttDef
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructors
      // -----------------------------------------------------------------------
      DTDAttDef();
      DTDAttDef
      (
          const   XMLCh* const            attName
          , const XMLAttDef::AttTypes     type = CData
          , const XMLAttDef::DefAttTypes  defType = Implied
      );
      DTDAttDef
      (
          const   XMLCh* const            attName
          , const XMLCh* const            attValue
          , const XMLAttDef::AttTypes     type
          , const XMLAttDef::DefAttTypes  defType
          , const XMLCh* const            enumValues = 0
      );
      ~DTDAttDef();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLAttDef interface
      // -----------------------------------------------------------------------
      virtual const XMLCh* getFullName() const;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getElemId() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setElemId(const unsigned int newId);
      void setName(const XMLCh* const newName);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElemId
      //      This is the id of the element (the id is into the element decl
      //      pool) of the element this attribute def said it belonged to.
      //      This is used later to link back to the element, mostly for
      //      validation purposes.
      //
      //  fName
      //      This is the name of the attribute. Since we don't do namespaces
      //      in the DTD, its just the fully qualified name.
      // -----------------------------------------------------------------------
      unsigned int    fElemId;
      XMLCh*          fName;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DTDAttDef: Implementation of the XMLAttDef interface
  // ---------------------------------------------------------------------------
  inline const XMLCh* DTDAttDef::getFullName() const
  {
      return fName;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDAttDef: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int DTDAttDef::getElemId() const
  {
      return fElemId;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDAttDef: Setter methods
  // ---------------------------------------------------------------------------
  inline void DTDAttDef::setElemId(const unsigned int newId)
  {
      fElemId = newId;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDAttDefList.hpp
  
  Index: DTDAttDefList.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDAttDefList.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:28  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:39  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(DTDATTDEFLIST_HPP)
  #define DTDATTDEFLIST_HPP
  
  #include <util/RefHashTableOf.hpp>
  #include <validators/DTD/DTDElementDecl.hpp>
  
  
  //
  //  This is a derivative of the framework abstract class which defines the
  //  interface to a list of attribute defs that belong to a particular
  //  element. The scanner needs to be able to get a list of the attributes
  //  that an element supports, for use during the validation process and for
  //  fixed/default attribute processing.
  //
  //  Since each validator can store attributes differently, this abstract
  //  interface allows each validator to provide an implementation of this
  //  data strucure that works best for it.
  //
  //  For us, we just wrap the RefHashTableOf collection that the DTDElementDecl
  //  class uses to store the attributes that belong to it.
  //
  //  This clss does not adopt the hash table, it just references it. The
  //  hash table is owned by the element decl it is a member of.
  //
  class DTDAttDefList : public XMLAttDefList
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDAttDefList
      (
          RefHashTableOf<DTDAttDef>* const    listToUse
      );
  
      ~DTDAttDefList();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual interface
      // -----------------------------------------------------------------------
      virtual bool hasMoreElements() const;
      virtual bool isEmpty() const;
      virtual XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      );
      virtual const XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      )   const;
      virtual XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      );
      virtual const XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      )   const;
      virtual XMLAttDef& nextElement();
      virtual void Reset();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEnum
      //      This is an enerator for the list that we use to do the enumerator
      //      type methods of this class.
      //
      //  fList
      //      The list of DTDAttDef objects that represent the attributes that
      //      a particular element supports.
      // -----------------------------------------------------------------------
      RefHashTableOfEnumerator<DTDAttDef>*    fEnum;
      RefHashTableOf<DTDAttDef>*              fList;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDElementDecl.hpp
  
  Index: DTDElementDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDElementDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/09/05 20:49:10  knoaman
   * Fix for complexTypes with mixed content model.
   *
   * Revision 1.11  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.10  2001/05/11 13:27:08  tng
   * Copyright update.
   *
   * Revision 1.9  2001/04/19 18:17:20  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.8  2001/03/21 21:56:19  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.7  2001/03/21 19:29:43  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.6  2001/02/26 19:29:21  tng
   * Schema: add virtual method getURI(), getContentSpec and setContenSpec in XMLElementDecl, and DTDElementDecl.
   *
   * Revision 1.5  2001/02/26 19:22:02  tng
   * Schema: add parameter prefix in findElem and findAttr.
   *
   * Revision 1.4  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.2  1999/11/23 01:51:04  rahulj
   * Cannot use class qualifier in class defn. CC under HPUX is happy.
   *
   * Revision 1.1.1.1  1999/11/09 01:03:32  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:40  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(DTDELEMENTDECL_HPP)
  #define DTDELEMENTDECL_HPP
  
  #include <util/RefHashTableOf.hpp>
  #include <util/QName.hpp>
  #include <framework/XMLElementDecl.hpp>
  #include <framework/XMLContentModel.hpp>
  #include <validators/DTD/DTDAttDef.hpp>
  
  class ContentSpecNode;
  class DTDAttDefList;
  
  
  //
  //  This class is a derivative of the basic element decl. This one implements
  //  the virtuals so that they work for a DTD. THe big difference is that
  //  they don't live in any URL in the DTD. The names are just stored as full
  //  QNames, so they are not split out and element decls don't live within
  //  URL namespaces or anything like that.
  //
  
  class VALIDATORS_EXPORT DTDElementDecl : public XMLElementDecl
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  ModelTypes
      //      Indicates the type of content model that an element has. This
      //      indicates how the content model is represented and validated.
      // -----------------------------------------------------------------------
      enum ModelTypes
      {
          Empty
          , Any
          , Mixed_Simple
          , Children
  
          , ModelTypes_Count
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDElementDecl();
  
      DTDElementDecl
      (
          const XMLCh* const    elemRawName
        , const unsigned int    uriId
        , const ModelTypes      modelType = Any
      );
  
      DTDElementDecl
      (
          QName* const    elementName
        , const ModelTypes      modelType = Any
      );
  
      ~DTDElementDecl();
  
  
      // -----------------------------------------------------------------------
      //  The virtual element decl interface
      // -----------------------------------------------------------------------
      virtual XMLAttDef* findAttr
      (
          const   XMLCh* const    qName
          , const unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefix
          , const LookupOpts      options
          ,       bool&           wasAdded
      )   const;
      virtual XMLAttDefList& getAttDefList() const;
      virtual CharDataOpts getCharDataOpts() const;
      virtual bool hasAttDefs() const;
      virtual bool resetDefs();
      virtual const ContentSpecNode* getContentSpec() const;
      virtual ContentSpecNode* getContentSpec();
      virtual void setContentSpec(ContentSpecNode* toAdopt);
      virtual XMLContentModel* getContentModel();
      virtual void setContentModel(XMLContentModel* const newModelToAdopt);      
      virtual const XMLCh* getFormattedContentModel ()   const;     
  
      // -----------------------------------------------------------------------
      // Support keyed collections
      //
      // This method allows objects of this type be placed into one of the
      // standard keyed collections. This method will return the full name of
      // the element, which will vary depending upon the type of the grammar.
      // -----------------------------------------------------------------------
      const XMLCh* getKey() const;
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const DTDAttDef* getAttDef(const XMLCh* const attName) const;
      DTDAttDef* getAttDef(const XMLCh* const attName);
      ModelTypes getModelType() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void addAttDef(DTDAttDef* const toAdd);
      void setModelType(const DTDElementDecl::ModelTypes toSet);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void faultInAttDefList() const;    
      XMLContentModel* createChildModel() ;
      XMLContentModel* makeContentModel() ;
      XMLCh* formatContentModel () const ;    
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fAttDefs
      //      The list of attributes that are defined for this element. Each
      //      element is its own little 'namespace' for attributes, so each
      //      element maintains its own list of owned attribute defs. It is
      //      faulted in when an attribute is actually added.
      //
      //  fAttList
      //      We have to return a view of our att defs via the abstract view
      //      that the scanner understands. It may or may not ever be asked
      //      for so we fault it in as needed.
      //
      //  fContentSpec
      //      This is the content spec for the node. It contains the original
      //      content spec that was read from the DTD, as a tree of nodes. This
      //      one is always set up, and is used to build the fContentModel
      //      version if we are validating.
      //
      //  fModelType
      //      The content model type of this element. This tells us what kind
      //      of content model to create.
      //
      //  fContentModel
      //      The content model object for this element. It is stored here via
      //      its abstract interface.    
      //
      //  fFormattedModel
      //      This is a faulted in member. When the outside world asks for
      //      our content model as a string, we format it and fault it into
      //      this field (to avoid doing the formatted over and over.)    
      // -----------------------------------------------------------------------
      RefHashTableOf<DTDAttDef>*  fAttDefs;
      DTDAttDefList*              fAttList;
      ContentSpecNode*            fContentSpec;
      ModelTypes                  fModelType;
      XMLContentModel*            fContentModel;    
      XMLCh*                      fFormattedModel;    
  };
  
  // ---------------------------------------------------------------------------
  //  DTDElementDecl: XMLElementDecl virtual interface implementation
  // ---------------------------------------------------------------------------
  inline ContentSpecNode* DTDElementDecl::getContentSpec()
  {
      return fContentSpec;
  }
  
  inline const ContentSpecNode* DTDElementDecl::getContentSpec() const
  {
      return fContentSpec;
  }
  
  inline XMLContentModel* DTDElementDecl::getContentModel()
  {
      if (!fContentModel)
          fContentModel = makeContentModel();
      return fContentModel;
  }
  
  inline void
  DTDElementDecl::setContentModel(XMLContentModel* const newModelToAdopt)
  {
      delete fContentModel;
      fContentModel = newModelToAdopt;
  }
  
  // ---------------------------------------------------------------------------
  //  DTDElementDecl: Miscellaneous methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* DTDElementDecl::getKey() const
  {
      return getFullName();
  }
  
  // ---------------------------------------------------------------------------
  //  DTDElementDecl: Getter methods
  // ---------------------------------------------------------------------------
  inline DTDElementDecl::ModelTypes DTDElementDecl::getModelType() const
  {
      return fModelType;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDElementDecl: Setter methods
  // ---------------------------------------------------------------------------
  inline void
  DTDElementDecl::setModelType(const DTDElementDecl::ModelTypes toSet)
  {
      fModelType = toSet;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDEntityDecl.hpp
  
  Index: DTDEntityDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDEntityDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.2  2000/01/20 01:57:07  rahulj
   * Reported by marc@ist.de
   * Removed extra 'const' qualifiers.
   *
   * Revision 1.1.1.1  1999/11/09 01:03:34  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:40  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(DTDENTITYDECL_HPP)
  #define DTDENTITYDECL_HPP
  
  #include <framework/XMLEntityDecl.hpp>
  
  
  //
  //  This is a derivative of the abstract version of an entity decl in the
  //  framework directory. We just need to provide implementation of a couple
  //  of methods.
  //
  class VALIDATORS_EXPORT DTDEntityDecl : public XMLEntityDecl
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDEntityDecl();
      DTDEntityDecl
      (
          const   XMLCh* const    entName
          , const bool            fromIntSubset = false
      );
      DTDEntityDecl
      (
          const   XMLCh* const    entName
          , const XMLCh* const    value
          , const bool            fromIntSubset = false
      );
      DTDEntityDecl
      (
          const   XMLCh* const    entName
          , const XMLCh           value
          , const bool            fromIntSubset = false
          , const bool            specialChar = false
      );
      ~DTDEntityDecl();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual XMLEntityDecl interface
      // -----------------------------------------------------------------------
      virtual bool getDeclaredInIntSubset() const;
      virtual bool getIsParameter() const;
      virtual bool getIsSpecialChar() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setDeclaredInIntSubset(const bool newValue);
      void setIsParameter(const bool newValue);
      void setIsSpecialChar(const bool newValue);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      DTDEntityDecl(const DTDEntityDecl&);
      void operator=(DTDEntityDecl&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDeclaredInIntSubset
      //      Indicates whether the entity was declared in the internal subset
      //      or not. If not, it cannot be referred to from a standalone
      //      document.
      //
      //  fIsParameter
      //      Indicates whether this is a parameter entity or a general entity.
      //
      //  fIsSpecialChar
      //      This indicates that its one of the special character entities,
      //      e.g. lt or gt or amp. We need to know this because there are
      //      places where only a numeric char ref or special char ref is valid
      //      and all others are ignored or illegal.
      // -----------------------------------------------------------------------
      bool    fDeclaredInIntSubset;
      bool    fIsParameter;
      bool    fIsSpecialChar;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DTDEntityDecl: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline DTDEntityDecl::DTDEntityDecl() :
  
      fDeclaredInIntSubset(false)
      , fIsParameter(false)
      , fIsSpecialChar(false)
  {
  }
  
  inline DTDEntityDecl::DTDEntityDecl(const   XMLCh* const    entName
                                      , const bool            fromIntSubset) :
  
      XMLEntityDecl(entName)
      , fDeclaredInIntSubset(fromIntSubset)
      , fIsParameter(false)
      , fIsSpecialChar(false)
  {
  }
  
  inline DTDEntityDecl::DTDEntityDecl(const   XMLCh* const    entName
                                      , const XMLCh* const    value
                                      , const bool            fromIntSubset) :
      XMLEntityDecl(entName, value)
      , fDeclaredInIntSubset(fromIntSubset)
      , fIsParameter(false)
      , fIsSpecialChar(false)
  {
  }
  
  inline DTDEntityDecl::DTDEntityDecl(const   XMLCh* const    entName
                                      , const XMLCh           value
                                      , const bool            fromIntSubset
                                      , const bool            specialChar) :
      XMLEntityDecl(entName, value)
      , fDeclaredInIntSubset(fromIntSubset)
      , fIsParameter(false)
      , fIsSpecialChar(specialChar)
  {
  }
  
  inline DTDEntityDecl::~DTDEntityDecl()
  {
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDEntityDecl: Getter methods
  // ---------------------------------------------------------------------------
  inline bool DTDEntityDecl::getDeclaredInIntSubset() const
  {
      return fDeclaredInIntSubset;
  }
  
  inline bool DTDEntityDecl::getIsParameter() const
  {
      return fIsParameter;
  }
  
  inline bool DTDEntityDecl::getIsSpecialChar() const
  {
      return fIsSpecialChar;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDEntityDecl: Setter methods
  // ---------------------------------------------------------------------------
  inline void DTDEntityDecl::setDeclaredInIntSubset(const bool newValue)
  {
      fDeclaredInIntSubset = newValue;
  }
  
  inline void DTDEntityDecl::setIsParameter(const bool newValue)
  {
      fIsParameter = newValue;
  }
  
  inline void DTDEntityDecl::setIsSpecialChar(const bool newValue)
  {
      fIsSpecialChar = newValue;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDGrammar.hpp
  
  Index: DTDGrammar.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDGrammar.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/09/14 14:50:22  tng
   * Schema: Fix some wildcard bugs, and some retrieving qualified/unqualified element decl problems.
   *
   * Revision 1.4  2001/05/28 20:56:17  tng
   * Schema: Move getTargetNamespace as virtual function in base class Grammar
   *
   * Revision 1.3  2001/05/11 13:27:09  tng
   * Copyright update.
   *
   * Revision 1.2  2001/04/19 18:17:21  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.1  2001/03/21 21:56:20  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  
  #if !defined(DTDGRAMMAR_HPP)
  #define DTDGRAMMAR_HPP
  
  #include <util/RefHashTableOf.hpp>
  #include <util/NameIdPool.hpp>
  #include <util/StringPool.hpp>
  #include <validators/common/Grammar.hpp>
  #include <validators/DTD/DTDElementDecl.hpp>
  
  //
  // This class stores the DTD information
  //  NOTE: DTDs are not namespace aware, so we just use regular NameIdPool
  //  data structures to store element and attribute decls. They are all set
  //  to be in the global namespace and the full QName is used as the base name
  //  of the decl. This means that all the URI parameters below are expected
  //  to be null pointers (and anything else will cause an exception.)
  //
  
  class VALIDATORS_EXPORT DTDGrammar : public Grammar
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDGrammar();
      virtual ~DTDGrammar();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of Virtual Interface
      // -----------------------------------------------------------------------
      virtual Grammar::GrammarType getGrammarType();
      virtual const XMLCh* getTargetNamespace() const;
  
      virtual XMLElementDecl* findOrAddElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
          ,       bool&           wasAdded
      ) ;
  
      virtual unsigned int getElemId
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const ;
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const ;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      );
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      )   const;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      );
  
      virtual const XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      )   const;
  
      virtual XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      );
  
      virtual XMLElementDecl* putElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
      );
  
      virtual unsigned int putElemDecl
      (
          XMLElementDecl* const elemDecl
      )   const;
  
      virtual unsigned int putNotationDecl
      (
          XMLNotationDecl* const notationDecl
      )   const;
  
      virtual void reset();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getRootElemId();
      NameIdPoolEnumerator<DTDElementDecl> getElemEnumerator() const;
      NameIdPoolEnumerator<XMLNotationDecl> getNotationEnumerator() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setRootElemId(unsigned int rootElemId);
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElemDeclPool
      //      This is the element decl pool. It contains all of the elements
      //      declared in the DTD (and their associated attributes.) When in
      //      non-validating mode, its just populated as new elements are seen
      //      and they are given default characteristics.
      //
      //  fNotationDeclPool
      //      This is a pool of NotationDecl objects, which contains all of the
      //      notations declared in the DTD subsets.
      //
      //  fRootElemId
      //      The id of the root element that we found in the DOCTYPE statement.
      //      Its initialized to ContentModel::fgInvalidElemId, so that its
      //      invalid unless we have a DOCTYPE.
      // -----------------------------------------------------------------------
      NameIdPool<DTDElementDecl>*     fElemDeclPool;
      NameIdPool<XMLNotationDecl>*    fNotationDeclPool;
      unsigned int                    fRootElemId;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DTDGrammar: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int DTDGrammar::getRootElemId()
  {
      return fRootElemId;
  }
  
  // ---------------------------------------------------------------------------
  //  DTDGrammar: Getter methods
  // ---------------------------------------------------------------------------
  inline NameIdPoolEnumerator<DTDElementDecl>
  DTDGrammar::getElemEnumerator() const
  {
      return NameIdPoolEnumerator<DTDElementDecl>(fElemDeclPool);
  }
  
  inline NameIdPoolEnumerator<XMLNotationDecl>
  DTDGrammar::getNotationEnumerator() const
  {
      return NameIdPoolEnumerator<XMLNotationDecl>(fNotationDeclPool);
  }
  
  // -----------------------------------------------------------------------
  //  Setter methods
  // -----------------------------------------------------------------------
  inline void DTDGrammar::setRootElemId(unsigned int rootElemId) {
      fRootElemId = rootElemId;
  }
  
  // ---------------------------------------------------------------------------
  //  DTDGrammar: Virtual methods
  // ---------------------------------------------------------------------------
  inline Grammar::GrammarType DTDGrammar::getGrammarType() {
      return Grammar::DTDGrammarType;
  }
  
  inline const XMLCh* DTDGrammar::getTargetNamespace() const {
      return XMLUni::fgZeroLenString;
  }
  
  // Element Decl
  inline unsigned int DTDGrammar::getElemId (const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope ) const
  {
      //
      //  In this case, we don't return zero to mean 'not found', so we have to
      //  map it to the official not found value if we don't find it.
      //
      const DTDElementDecl* decl = fElemDeclPool->getByKey(qName);
      if (!decl)
          return XMLElementDecl::fgInvalidElemId;
      return decl->getId();
  }
  
  inline const XMLElementDecl* DTDGrammar::getElemDecl( const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope )   const
  {
      return fElemDeclPool->getByKey(qName);
  }
  
  inline XMLElementDecl* DTDGrammar::getElemDecl (const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope )
  {
      return fElemDeclPool->getByKey(qName);
  }
  
  inline const XMLElementDecl* DTDGrammar::getElemDecl(const unsigned int elemId) const
  {
      // Look up this element decl by id
      return fElemDeclPool->getById(elemId);
  }
  
  inline XMLElementDecl* DTDGrammar::getElemDecl(const unsigned int elemId)
  {
      // Look up this element decl by id
      return fElemDeclPool->getById(elemId);
  }
  
  inline unsigned int DTDGrammar::putElemDecl (XMLElementDecl* const elemDecl)   const
  {
      return fElemDeclPool->put((DTDElementDecl*) elemDecl);
  }
  
  // Notation Decl
  inline const XMLNotationDecl* DTDGrammar::getNotationDecl(const XMLCh* const notName) const
  {
      return fNotationDeclPool->getByKey(notName);
  }
  
  inline XMLNotationDecl* DTDGrammar::getNotationDecl(const XMLCh* const notName)
  {
      return fNotationDeclPool->getByKey(notName);
  }
  
  inline unsigned int DTDGrammar::putNotationDecl(XMLNotationDecl* const notationDecl)   const
  {
      return fNotationDeclPool->put(notationDecl);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDScanner.hpp
  
  Index: DTDScanner.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDScanner.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/06/21 14:25:56  knoaman
   * Fix for bug 1946
   *
   * Revision 1.3  2001/05/11 13:27:10  tng
   * Copyright update.
   *
   * Revision 1.2  2001/04/19 18:17:22  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.1  2001/03/21 21:56:20  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  
  #if !defined(DTDSCANNER_HPP)
  #define DTDSCANNER_HPP
  
  #include <validators/DTD/DTDGrammar.hpp>
  #include <validators/DTD/DTDEntityDecl.hpp>
  
  /*
   * Default implementation of an XML DTD scanner.
   */
  class DocTypeHandler;
  
  class VALIDATORS_EXPORT DTDScanner
  {
  public:
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  NOTE: This should really be private, but some of the compilers we
      //  have to support cannot understand that.
      //
      //  EntityExpRes
      //      Returned from scanEntityRef() to indicate how the expanded text
      //      was treated.
      // -----------------------------------------------------------------------
      enum EntityExpRes
      {
          EntityExp_Failed
          , EntityExp_Pushed
          , EntityExp_Returned
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDScanner(DTDGrammar* dtdGrammar, NameIdPool<DTDEntityDecl>* entityDeclPool, DocTypeHandler* const    docTypeHandler);
      virtual ~DTDScanner();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      DocTypeHandler* getDocTypeHandler();
      const DocTypeHandler* getDocTypeHandler() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      //
      //  setScannerInfo() is called by the scanner to tell the DTDScanner
      //  about the stuff it needs to have access to.
      // -----------------------------------------------------------------------
      void setScannerInfo
      (
          XMLScanner* const           owningScanner
          , ReaderMgr* const          readerMgr
          , XMLBufferMgr* const       bufMgr
      );
  
      void setDocTypeHandler
      (
              DocTypeHandler* const handlerToSet
      );
  
      void scanDocTypeDecl(const bool reuseGrammar);
  
  private:
      // -----------------------------------------------------------------------
      //  Private class types
      // -----------------------------------------------------------------------
      enum IDTypes
      {
          IDType_Public
          , IDType_External
          , IDType_Either
      };
  
  
      // -----------------------------------------------------------------------
      //  Private DTD scanning methods. These are all in XMLValidator2.cpp
      // -----------------------------------------------------------------------
      bool checkForPERef
      (
          const   bool    spaceRequired
          , const bool    inLiteral
          , const bool    inMarkup
          , const bool    throwEndOfExt = false
      );
      bool expandPERef
      (
          const   bool    scanExternal
          , const bool    inLiteral
          , const bool    inMarkup
          , const bool    throwEndOfExt = false
      );
      bool getQuotedString(XMLBuffer& toFill);
      XMLAttDef* scanAttDef(DTDElementDecl& elemDecl, XMLBuffer& bufToUse);
      bool scanAttValue
      (
          const   XMLCh* const        attrName
          ,       XMLBuffer&          toFill
          , const XMLAttDef::AttTypes type
      );
      void scanAttListDecl();
      ContentSpecNode* scanChildren
      (
          const   DTDElementDecl&     elemDecl
          ,       XMLBuffer&          bufToUse
      );
      bool scanCharRef(XMLCh& toFill, XMLCh& second);
      void scanComment();
      bool scanContentSpec(DTDElementDecl& toFill);
      void scanDefaultDecl(DTDAttDef& toFill);
      void scanElementDecl();
      void scanEntityDecl();
      bool scanEntityDef();
      bool scanEntityLiteral(XMLBuffer& toFill, const bool isPE);
      bool scanEntityDef(DTDEntityDecl& decl, const bool isPEDecl);
      EntityExpRes scanEntityRef(XMLCh& firstCh, XMLCh& secondCh, bool& escaped);
      bool scanEnumeration
      (
          const   DTDAttDef&  attDef
          ,       XMLBuffer&  toFill
          , const bool        notation
      );
      bool scanEq();
      void scanExtSubsetDecl(const bool inIncludeSect);
      bool scanId
      (
                  XMLBuffer&  pubIdToFill
          ,       XMLBuffer&  sysIdToFill
          , const IDTypes     whatKind
      );
      void scanIgnoredSection();
      bool scanInternalSubset();
      void scanMarkupDecl(const bool parseTextDecl);
      bool scanMixed(DTDElementDecl& toFill);
      void scanNotationDecl();
      void scanPI();
      bool scanPublicLiteral(XMLBuffer& toFill);
      bool scanSystemLiteral(XMLBuffer& toFill);
      void scanTextDecl();
      bool isReadingExternalEntity();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDocTypeHandler
      //      This holds the optional doc type handler that can be installed
      //      and used to call back for all markup events. It is DTD specific.
      //
      //  fDumAttDef
      //  fDumElemDecl
      //  fDumEntityDecl
      //      These are dummy objects into which mark decls are parsed when
      //      they are just overrides of previously declared markup decls. In
      //      such situations, the first one wins but we need to have somewhere
      //      to parse them into. So these are lazily created and used as needed
      //      when such markup decls are seen.
      //
      //  fInternalSubset
      //      This is used to track whether we are in the internal subset or not,
      //      in which case we are in the external subset.
      //
      //  fNextAttrId
      //      Since att defs are per-element, we don't have a validator wide
      //      attribute def pool. So we use a simpler data structure in each
      //      element decl to store its att defs, and we use this simple counter
      //      to apply a unique id to each new attribute.
      //
      //  fDTDGrammar
      //      The DTD information we scanned like element decl, attribute decl
      //      are stored in this Grammar.
      //
      //  fBufMgr
      //      This is the buffer manager of the scanner. This is provided as a
      //      convenience so that the DTDScanner doesn't have to create its own
      //      buffer manager during the parse process.
      //
      //  fReaderMgr
      //      This is a pointer to the reader manager that is being used by the scanner.
      //
      //  fScanner
      //      The pointer to the scanner to which this DTDScanner belongs
      //
      //  fPEntityDeclPool
      //      This is a pool of EntityDecl objects, which contains all of the
      //      parameter entities that are declared in the DTD subsets.
      //
      //  fEntityDeclPool
      //      This is a pool of EntityDecl objects, which contains all of the
      //      general entities that are declared in the DTD subsets.  It is
      //      owned by the Scanner as Schema Grammar may also need access to
      //      this pool for entity reference.
      //
      //  fEmptyNamespaceId
      //      The uri for all DTD decls
      //
      //  fDocTypeReaderId
      //      The original reader in the fReaderMgr - to be compared against the
      //      current reader to decide whether we are processing an external/internal
      //      declaration
      // -----------------------------------------------------------------------
      DocTypeHandler*                 fDocTypeHandler;
      DTDAttDef*                      fDumAttDef;
      DTDElementDecl*                 fDumElemDecl;
      DTDEntityDecl*                  fDumEntityDecl;
      bool                            fInternalSubset;
      unsigned int                    fNextAttrId;
      DTDGrammar*                     fDTDGrammar;
      XMLBufferMgr*                   fBufMgr;
      ReaderMgr*                      fReaderMgr;
      XMLScanner*                     fScanner;
      NameIdPool<DTDEntityDecl>*      fPEntityDeclPool;
      NameIdPool<DTDEntityDecl>*      fEntityDeclPool;
      unsigned int                    fEmptyNamespaceId;
      unsigned int                    fDocTypeReaderId;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DTDScanner: Getter methods
  // ---------------------------------------------------------------------------
  inline DocTypeHandler* DTDScanner::getDocTypeHandler()
  {
      return fDocTypeHandler;
  }
  
  inline const DocTypeHandler* DTDScanner::getDocTypeHandler() const
  {
      return fDocTypeHandler;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DTDScanner: Setter methods
  // ---------------------------------------------------------------------------
  inline void DTDScanner::setDocTypeHandler(DocTypeHandler* const handlerToSet)
  {
      fDocTypeHandler = handlerToSet;
  }
  
  // -----------------------------------------------------------------------
  //  Setter methods
  // -----------------------------------------------------------------------
  inline void DTDScanner::setScannerInfo(XMLScanner* const      owningScanner
                              , ReaderMgr* const      readerMgr
                              , XMLBufferMgr* const   bufMgr)
  {
      // We don't own any of these, we just reference them
      fScanner = owningScanner;
      fReaderMgr = readerMgr;
      fBufMgr = bufMgr;
  
      if (fScanner->getDoNamespaces())
          fEmptyNamespaceId = fScanner->getEmptyNamespaceId();
      else
          fEmptyNamespaceId = 0;
  
      fDocTypeReaderId = fReaderMgr->getCurrentReaderNum();
  }
  
  // -----------------------------------------------------------------------
  //  Helper methods
  // -----------------------------------------------------------------------
  inline bool DTDScanner::isReadingExternalEntity() {
      return (fDocTypeReaderId != fReaderMgr->getCurrentReaderNum());
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DTDValidator.hpp
  
  Index: DTDValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DTDValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/06/05 16:51:20  knoaman
   * Add 'const' to getGrammar - submitted by Peter A. Volchek.
   *
   * Revision 1.11  2001/05/11 13:27:11  tng
   * Copyright update.
   *
   * Revision 1.10  2001/05/03 20:34:37  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.9  2001/04/19 18:17:23  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.8  2001/03/21 21:56:21  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.7  2001/02/26 19:22:08  tng
   * Schema: add parameter prefix in findElem and findAttr.
   *
   * Revision 1.6  2000/08/09 22:08:48  jpolast
   * added const XMLCh* getURIText() as per XMLValidator.
   * allows parsers to use const URIs instead of appending
   * to a XMLBuffer.
   *
   * Revision 1.5  2000/04/06 19:00:07  roddey
   * Added a getter for the doc type handler.
   *
   * Revision 1.4  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.3  2000/02/09 21:42:38  abagchi
   * Copyright swat
   *
   * Revision 1.2  2000/01/12 23:52:48  roddey
   * These are trivial changes required to get the C++ and Java versions
   * of error messages more into sync. Mostly it was where the Java version
   * was passing out one or more parameter than the C++ version was. In
   * some cases the change just required an extra parameter to get the
   * needed info to the place where the error was issued.
   *
   * Revision 1.1.1.1  1999/11/09 01:03:36  twl
   * Initial checkin
   *
   * Revision 1.5  1999/11/08 20:45:41  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  
  #if !defined(DTDVALIDATOR_HPP)
  #define DTDVALIDATOR_HPP
  
  #include <util/NameIdPool.hpp>
  #include <framework/XMLValidator.hpp>
  #include <validators/DTD/DTDGrammar.hpp>
  
  class XMLMsgLoader;
  
  
  //
  //  This is a derivative of the abstract validator interface. This class
  //  implements a validator that supports standard XML 1.0 DTD semantics.
  //  This class handles scanning the internal and external subsets of the
  //  DTD, and provides the standard validation services against the DTD info
  //  it found.
  //
  class VALIDATORS_EXPORT DTDValidator : public XMLValidator
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DTDValidator(XMLErrorReporter* const errReporter = 0);
      virtual ~DTDValidator();
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLValidator interface
      // -----------------------------------------------------------------------
      virtual int checkContent
      (
          XMLElementDecl* const   elemDecl
          , QName** const         children
          , const unsigned int    childCount
      );
  
      virtual bool checkRootElement
      (
          const   unsigned int    elemId
      );
  
      virtual void faultInAttr
      (
                  XMLAttr&    toFill
          , const XMLAttDef&  attDef
      )   const;
  
      virtual void preContentValidation(bool reuseGrammar);
  
      virtual void postParseValidation();
  
      virtual void reset();
  
      virtual bool requiresNamespaces() const;
  
      virtual void validateAttrValue
      (
          const   XMLAttDef*                  attDef
          , const XMLCh* const                attrValue
      );
      virtual void validateElement
      (
          const   XMLElementDecl*             elemDef
      );
      virtual Grammar* getGrammar() const;
      virtual void setGrammar(Grammar* aGrammar);
  
      // -----------------------------------------------------------------------
      //  Virtual DTD handler interface.
      // -----------------------------------------------------------------------
      virtual bool handlesDTD() const;
  
      // -----------------------------------------------------------------------
      //  Virtual Schema handler interface. handlesSchema() always return false.
      // -----------------------------------------------------------------------
      virtual bool handlesSchema() const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fDTDGrammar
      //      The DTD information stored.
      //
      // -----------------------------------------------------------------------
      DTDGrammar*                     fDTDGrammar;
  };
  
  // ---------------------------------------------------------------------------
  //  Virtual interface
  // ---------------------------------------------------------------------------
  inline Grammar* DTDValidator::getGrammar() const {
      return fDTDGrammar;
  }
  
  inline void DTDValidator::setGrammar(Grammar* aGrammar) {
      fDTDGrammar = (DTDGrammar*) aGrammar;
  }
  
  inline void DTDValidator::validateElement (const   XMLElementDecl* elemDef) {
      // no special DTD Element validation
  }
  
  // ---------------------------------------------------------------------------
  //  DTDValidator: DTD handler interface
  // ---------------------------------------------------------------------------
  inline bool DTDValidator::handlesDTD() const
  {
      // We definitely want to handle DTD scanning
      return true;
  }
  
  // ---------------------------------------------------------------------------
  //  DTDValidator: Schema handler interface
  // ---------------------------------------------------------------------------
  inline bool DTDValidator::handlesSchema() const
  {
      // No Schema scanning
      return false;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/DTD/DocTypeHandler.hpp
  
  Index: DocTypeHandler.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2000 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DocTypeHandler.hpp,v $
   * Revision 1.1  2002/03/22 00:42:03  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/06/19 16:43:46  tng
   * Correct description of DocTypeHandler
   *
   * Revision 1.4  2000/03/02 19:55:39  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:39  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:21  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:43  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  
  #if !defined(DOCTYPEHANDLER_HPP)
  #define DOCTYPEHANDLER_HPP
  
  #include <util/XercesDefs.hpp>
  #include <framework/XMLNotationDecl.hpp>
  #include <validators/DTD/DTDAttDef.hpp>
  #include <validators/DTD/DTDElementDecl.hpp>
  #include <validators/DTD/DTDEntityDecl.hpp>
  
  
  //
  //  This abstract class defines the document type handler API's which can be
  //  used to process the DTD events generated by the DTDScanner as it scans the
  //  internal and external subset.
  
  class VALIDATORS_EXPORT DocTypeHandler
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DocTypeHandler()
      {
      }
  
      virtual ~DocTypeHandler()
      {
      }
  
  
      // -----------------------------------------------------------------------
      //  The document type handler virtual handler interface
      // -----------------------------------------------------------------------
      virtual void attDef
      (
          const   DTDElementDecl&     elemDecl
          , const DTDAttDef&          attDef
          , const bool                ignoring
      ) = 0;
  
      virtual void doctypeComment
      (
          const   XMLCh* const    comment
      ) = 0;
  
      virtual void doctypeDecl
      (
          const   DTDElementDecl& elemDecl
          , const XMLCh* const    publicId
          , const XMLCh* const    systemId
          , const bool            hasIntSubset
      ) = 0;
  
      virtual void doctypePI
      (
          const   XMLCh* const    target
          , const XMLCh* const    data
      ) = 0;
  
      virtual void doctypeWhitespace
      (
          const   XMLCh* const    chars
          , const unsigned int    length
      ) = 0;
  
      virtual void elementDecl
      (
          const   DTDElementDecl& decl
          , const bool            isIgnored
      ) = 0;
  
      virtual void endAttList
      (
          const   DTDElementDecl& elemDecl
      ) = 0;
  
      virtual void endIntSubset() = 0;
  
      virtual void endExtSubset() = 0;
  
      virtual void entityDecl
      (
          const   DTDEntityDecl&  entityDecl
          , const bool            isPEDecl
          , const bool            isIgnored
      ) = 0;
  
      virtual void resetDocType() = 0;
  
      virtual void notationDecl
      (
          const   XMLNotationDecl&    notDecl
          , const bool                isIgnored
      ) = 0;
  
      virtual void startAttList
      (
          const   DTDElementDecl& elemDecl
      ) = 0;
  
      virtual void startIntSubset() = 0;
  
      virtual void startExtSubset() = 0;
  
      virtual void TextDecl
      (
          const   XMLCh* const    versionStr
          , const XMLCh* const    encodingStr
      ) = 0;
  
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      DocTypeHandler(const DocTypeHandler&);
      void operator=(const DocTypeHandler&);
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/AllContentModel.hpp
  
  Index: AllContentModel.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: AllContentModel.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/08/24 12:48:48  tng
   * Schema: AllContentModel
   *
   */
  
  
  #if !defined(ALLCONTENTMODEL_HPP)
  #define ALLCONTENTMODEL_HPP
  
  #include <util/ValueVectorOf.hpp>
  #include <framework/XMLContentModel.hpp>
  #include <validators/common/ContentLeafNameTypeVector.hpp>
  
  class ContentSpecNode;
  
  //
  //  AllContentModel is a derivative of the abstract content model base
  //  class that handles the special case of <all> feature in schema. If a model
  //  is <all>, all non-optional children must appear
  //
  //  So, all we have to do is to keep an array of the possible children and
  //  validate by just looking up each child being validated by looking it up
  //  in the list, and make sure all non-optional children appear.
  //
  class AllContentModel : public XMLContentModel
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      AllContentModel
      (
        ContentSpecNode* const  parentContentSpec
  		, const bool            isMixed
      );
  
      ~AllContentModel();
  
      // -----------------------------------------------------------------------
      //  Implementation of the ContentModel virtual interface
      // -----------------------------------------------------------------------
      virtual int validateContent
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
      )   const;
  
  	virtual int validateContentSpecial
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
        , GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
      ) const;
  
      virtual ContentLeafNameTypeVector* getContentLeafNameTypeVector() const ;
  
      virtual unsigned int getNextState(const unsigned int currentState,
                                        const unsigned int elementIndex) const;
  
      virtual void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      ) ;
  
  private :
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void buildChildList
      (
          ContentSpecNode* const                     curNode
        , ValueVectorOf<QName*>&                     toFill
        , ValueVectorOf<bool>&                       toType
      );
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      AllContentModel();
      AllContentModel(const AllContentModel&);
      void operator=(const AllContentModel&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fCount
      //      The count of possible children in the fChildren member.
      //
      //  fChildren
      //      The list of possible children that we have to accept. This array
      //      is allocated as large as needed in the constructor.
      //
      //  fChildOptional
      //      The corresponding list of optional state of each child in fChildren
      //      True if the child is optional (i.e. minOccurs = 0).
      //
      //  fNumRequired
      //      The number of required children in <all> (i.e. minOccurs = 1)
      //
      //  fIsMixed
      //      AllContentModel with mixed PCDATA.
      // -----------------------------------------------------------------------
      unsigned int    fCount;
      QName**         fChildren;
      bool*           fChildOptional;
      unsigned int    fNumRequired;
      bool            fIsMixed;
  
  };
  
  inline ContentLeafNameTypeVector* AllContentModel::getContentLeafNameTypeVector() const
  {
  	return 0;
  }
  
  inline unsigned int
  AllContentModel::getNextState(const unsigned int currentState,
                                const unsigned int elementIndex) const {
  
      return XMLContentModel::gInvalidTrans;
  }
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMAny.hpp
  
  Index: CMAny.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMAny.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:27:14  tng
   * Copyright update.
   *
   * Revision 1.1  2001/02/27 14:48:46  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   */
  
  #if !defined(CMANY_HPP)
  #define CMANY_HPP
  
  #include <util/XercesDefs.hpp>
  #include <validators/common/CMNode.hpp>
  
  class CMStateSet;
  
  class CMAny : public CMNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors
      // -----------------------------------------------------------------------
      CMAny
      (
          const   ContentSpecNode::NodeTypes  type
          , const unsigned int                URI
          , const unsigned int                position
      );
      ~CMAny();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getURI() const;
  
      unsigned int getPosition() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setPosition(const unsigned int newPosition);
  
      // -----------------------------------------------------------------------
      //  Implementation of the public CMNode virtual interface
      // -----------------------------------------------------------------------
      bool isNullable() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Implementation of the protected CMNode virtual interface
      // -----------------------------------------------------------------------
      void calcFirstPos(CMStateSet& toSet) const;
      void calcLastPos(CMStateSet& toSet) const;
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fURI;
      //  URI of the any content model. This value is set if the type is
      //  of the following:
      //  XMLContentSpec.CONTENTSPECNODE_ANY,
      //  XMLContentSpec.CONTENTSPECNODE_ANY_OTHER.
      //
  	//  fPosition
      //  Part of the algorithm to convert a regex directly to a DFA
      //  numbers each leaf sequentially. If its -1, that means its an
      //  epsilon node. Zero and greater are non-epsilon positions.
      // -----------------------------------------------------------------------
      unsigned int fURI;
      unsigned int fPosition;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMBinaryOp.hpp
  
  Index: CMBinaryOp.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMBinaryOp.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/05/11 13:27:16  tng
   * Copyright update.
   *
   * Revision 1.2  2001/02/16 14:58:57  tng
   * Schema: Update Makefile, configure files, project files, and include path in
   * certain cpp files because of the move of the common Content Model files.  By Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.4  2000/03/02 19:55:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:47  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:36  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:02  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:35  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(CMBINARYOP_HPP)
  #define CMBINARYOP_HPP
  
  #include <util/XercesDefs.hpp>
  #include <validators/common/CMNode.hpp>
  
  class CMStateSet;
  
  class CMBinaryOp : public CMNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors
      // -----------------------------------------------------------------------
      CMBinaryOp
      (
          const   ContentSpecNode::NodeTypes  type
          ,       CMNode* const               leftToAdopt
          ,       CMNode* const               rightToAdopt
      );
      ~CMBinaryOp();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const CMNode* getLeft() const;
      CMNode* getLeft();
      const CMNode* getRight() const;
      CMNode* getRight();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the public CMNode virtual interface
      // -----------------------------------------------------------------------
      bool isNullable() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Implementation of the protected CMNode virtual interface
      // -----------------------------------------------------------------------
      void calcFirstPos(CMStateSet& toSet) const;
      void calcLastPos(CMStateSet& toSet) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fLeftChild
      //  fRightChild
      //      These are the references to the two nodes that are on either side
      //      of this binary operation. We own them both.
      // -----------------------------------------------------------------------
      CMNode* fLeftChild;
      CMNode* fRightChild;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMLeaf.hpp
  
  Index: CMLeaf.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMLeaf.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/10/03 15:08:45  tng
   * typo fix: remove the extra space which may confuse some compilers while constructing the qname.
   *
   * Revision 1.4  2001/05/11 13:27:16  tng
   * Copyright update.
   *
   * Revision 1.3  2001/04/19 18:17:27  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.2  2001/02/16 14:58:57  tng
   * Schema: Update Makefile, configure files, project files, and include path in
   * certain cpp files because of the move of the common Content Model files.  By Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.5  2000/03/28 19:43:25  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.4  2000/03/02 19:55:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:47  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:36  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:04  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:36  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(CMLEAF_HPP)
  #define CMLEAF_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/RuntimeException.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  #include <validators/common/CMNode.hpp>
  #include <validators/common/CMStateSet.hpp>
  
  //
  //  This class represents a leaf in the content spec node tree of an
  //  element's content model. It just has an element qname and a position value,
  //  the latter of which is used during the building of a DFA.
  //
  class CMLeaf : public CMNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors
      // -----------------------------------------------------------------------
      CMLeaf
      (
            QName* const          element
          , const unsigned int    position = ~0
      );
      ~CMLeaf();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      QName* getElement();
      const QName* getElement() const;
      unsigned int getPosition() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setPosition(const unsigned int newPosition);
  
  
      // -----------------------------------------------------------------------
      //  Implementation of public CMNode virtual interface
      // -----------------------------------------------------------------------
      bool isNullable() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Implementation of protected CMNode virtual interface
      // -----------------------------------------------------------------------
      void calcFirstPos(CMStateSet& toSet) const;
      void calcLastPos(CMStateSet& toSet) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElement
      //      This is the element that this leaf represents.
      //
      //  fPosition
      //      Part of the algorithm to convert a regex directly to a DFA
      //      numbers each leaf sequentially. If its -1, that means its an
      //      epsilon node. All others are non-epsilon positions.
      // -----------------------------------------------------------------------
      QName*          fElement;
      unsigned int    fPosition;
  };
  
  
  // -----------------------------------------------------------------------
  //  Constructors
  // -----------------------------------------------------------------------
  inline CMLeaf::CMLeaf(    QName* const          element
                          , const unsigned int    position) :
      CMNode(ContentSpecNode::Leaf)
      , fElement(0)
      , fPosition(position)
  {
      if (!element)
          fElement = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
      else
          fElement = new QName(element);
  }
  
  inline CMLeaf::~CMLeaf()
  {
      delete fElement;
  }
  
  
  // ---------------------------------------------------------------------------
  //  Getter methods
  // ---------------------------------------------------------------------------
  inline QName* CMLeaf::getElement()
  {
      return fElement;
  }
  
  inline const QName* CMLeaf::getElement() const
  {
      return fElement;
  }
  
  inline unsigned int CMLeaf::getPosition() const
  {
      return fPosition;
  }
  
  
  // ---------------------------------------------------------------------------
  //  Setter methods
  // ---------------------------------------------------------------------------
  inline void CMLeaf::setPosition(const unsigned int newPosition)
  {
      fPosition = newPosition;
  }
  
  
  // ---------------------------------------------------------------------------
  //  Implementation of public CMNode virtual interface
  // ---------------------------------------------------------------------------
  inline bool CMLeaf::isNullable() const
  {
      // Leaf nodes are never nullable unless its an epsilon node
      return (fPosition == -1);
  }
  
  
  // ---------------------------------------------------------------------------
  //  Implementation of protected CMNode virtual interface
  // ---------------------------------------------------------------------------
  inline void CMLeaf::calcFirstPos(CMStateSet& toSet) const
  {
      // If we are an epsilon node, then the first pos is an empty set
      if (fPosition == -1)
      {
          toSet.zeroBits();
          return;
      }
  
      // Otherwise, its just the one bit of our position
      toSet.setBit(fPosition);
  }
  
  inline void CMLeaf::calcLastPos(CMStateSet& toSet) const
  {
      // If we are an epsilon node, then the last pos is an empty set
      if (fPosition == -1)
      {
          toSet.zeroBits();
          return;
      }
  
      // Otherwise, its just the one bit of our position
      toSet.setBit(fPosition);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMNode.hpp
  
  Index: CMNode.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMNode.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/05/11 13:27:17  tng
   * Copyright update.
   *
   * Revision 1.2  2001/02/16 14:58:57  tng
   * Schema: Update Makefile, configure files, project files, and include path in
   * certain cpp files because of the move of the common Content Model files.  By Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.5  2000/03/28 19:43:25  roddey
   * Fixes for signed/unsigned warnings. New work for two way transcoding
   * stuff.
   *
   * Revision 1.4  2000/03/02 19:55:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:36  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:05  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:36  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(CMNODE_HPP)
  #define CMNODE_HPP
  
  #include <util/XercesDefs.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  #include <validators/common/CMStateSet.hpp>
  
  
  class CMNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructors
      // -----------------------------------------------------------------------
      CMNode(const ContentSpecNode::NodeTypes type);
      virtual ~CMNode();
  
  
      // -----------------------------------------------------------------------
      //  Virtual methods to be provided derived node classes
      // -----------------------------------------------------------------------
      virtual bool isNullable() const = 0;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      ContentSpecNode::NodeTypes getType() const;
      const CMStateSet& getFirstPos() const;
      const CMStateSet& getLastPos() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setMaxStates(const unsigned int maxStates);
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Protected, abstract methods
      // -----------------------------------------------------------------------
      virtual void calcFirstPos(CMStateSet& toUpdate) const = 0;
      virtual void calcLastPos(CMStateSet& toUpdate) const = 0;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      CMNode();
      CMNode(const CMNode&);
      void operator=(const CMNode&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fType
      //      The type of node. This indicates whether its a leaf or an
      //      operation.
      //
      //  fFirstPos
      //      The set of NFA states that represent the entry states of this
      //      node in the DFA.
      //
      //  fLastPos
      //      The set of NFA states that represent the final states of this
      //      node in the DFA.
      //
      //  fMaxStates
      //      The maximum number of states that the NFA has, which means the
      //      max number of NFA states that have to be traced in the state
      //      sets during the building of the DFA. Its unfortunate that it
      //      has to be stored redundantly, but we need to fault in the
      //      state set members and they have to be sized to this size.
      // -----------------------------------------------------------------------
      ContentSpecNode::NodeTypes  fType;
      CMStateSet*                 fFirstPos;
      CMStateSet*                 fLastPos;
      unsigned int                fMaxStates;
  };
  
  
  
  // ---------------------------------------------------------------------------
  //  CMNode: Constructors and Destructors
  // ---------------------------------------------------------------------------
  inline CMNode::CMNode(const ContentSpecNode::NodeTypes type) :
  
      fType(type)
      , fFirstPos(0)
      , fLastPos(0)
      , fMaxStates(~0)
  {
  }
  
  inline CMNode::~CMNode()
  {
      // Clean up any position sets that got created
      delete fFirstPos;
      delete fLastPos;
  }
  
  
  // ---------------------------------------------------------------------------
  //  CMNode: Getter methods
  // ---------------------------------------------------------------------------
  inline ContentSpecNode::NodeTypes CMNode::getType() const
  {
      return fType;
  }
  
  inline const CMStateSet& CMNode::getFirstPos() const
  {
      //
      //  Fault in the state set if needed. Since we can't use mutable members
      //  cast off the const'ness.
      //
      if (!fFirstPos)
      {
          CMNode* unconstThis = (CMNode*)this;
          unconstThis->fFirstPos = new CMStateSet(fMaxStates);
          unconstThis->calcFirstPos(*fFirstPos);
      }
      return *fFirstPos;
  }
  
  inline const CMStateSet& CMNode::getLastPos() const
  {
      //
      //  Fault in the state set if needed. Since we can't use mutable members
      //  cast off the const'ness.
      //
      if (!fLastPos)
      {
          CMNode* unconstThis = (CMNode*)this;
          unconstThis->fLastPos = new CMStateSet(fMaxStates);
          unconstThis->calcLastPos(*fLastPos);
      }
      return *fLastPos;
  }
  
  
  // ---------------------------------------------------------------------------
  //  CMNode: Setter methods
  // ---------------------------------------------------------------------------
  inline void CMNode::setMaxStates(const unsigned int maxStates)
  {
      fMaxStates = maxStates;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMStateSet.hpp
  
  Index: CMStateSet.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMStateSet.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/08/16 21:51:43  peiyongz
   * hashCode() added
   *
   * Revision 1.4  2001/05/11 13:27:17  tng
   * Copyright update.
   *
   * Revision 1.3  2001/05/03 21:02:28  tng
   * Schema: Add SubstitutionGroupComparator and update exception messages.  By Pei Yong Zhang.
   *
   * Revision 1.2  2001/02/27 14:48:46  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.4  2000/03/02 19:55:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:36  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:06  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:36  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  //  DESCRIPTION:
  //
  //  This class is a specialized bitset class for the content model code of
  //  the validator. It assumes that its never called with two objects of
  //  different bit counts, and that bit sets smaller than 64 bits are far
  //  and away the most common. So it can be a lot more optimized than a general
  //  purpose utility bitset class
  //
  
  #if !defined(CMSTATESET_HPP)
  #define CMSTATESET_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <framework/XMLValidityCodes.hpp>
  #include <string.h>
  #include <memory.h>
  
  
  class CMStateSet
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      CMStateSet(const unsigned int bitCount) :
  
          fBitCount(bitCount)
          , fByteArray(0)
      {
          //
          //  See if we need to allocate the byte array or whether we can live
          //  within the 64 bit high performance scheme.
          //
          if (fBitCount > 64)
          {
              fByteCount = fBitCount / 8;
              if (fBitCount % 8)
                  fByteCount++;
              fByteArray = new XMLByte[fByteCount];
          }
  
          // Init all the bits to zero
          zeroBits();
      }
  
  
      /*
       * This method with the 'for' statement (commented out) cannot be made inline
       * because the antiquated CC (CFront) compiler under HPUX 10.20 does not allow
       * the 'for' statement inside any inline method. Unfortunately,
       * we have to support it. So instead, we use memcpy().
       */
  
      CMStateSet(const CMStateSet& toCopy) :
          fBitCount(toCopy.fBitCount)
        , fByteArray(0)
      {
          //
          //  See if we need to allocate the byte array or whether we can live
          //  within the 64 bit high performance scheme.
          //
          if (fBitCount > 64)
          {
              fByteCount = fBitCount / 8;
              if (fBitCount % 8)
                  fByteCount++;
              fByteArray = new XMLByte[fByteCount];
  
              memcpy((void *) fByteArray,
                     (const void *) toCopy.fByteArray,
                     fByteCount * sizeof(XMLByte));
  
              // for (unsigned int index = 0; index < fByteCount; index++)
              //     fByteArray[index] = toCopy.fByteArray[index];
          }
           else
          {
              fBits1 = toCopy.fBits1;
              fBits2 = toCopy.fBits2;
          }
      }
  
      ~CMStateSet()
      {
          if (fByteArray)
              delete [] fByteArray;
      }
  
  
      // -----------------------------------------------------------------------
      //  Set manipulation methods
      // -----------------------------------------------------------------------
      void operator&=(const CMStateSet& setToAnd)
      {
          if (fBitCount < 65)
          {
              fBits1 &= setToAnd.fBits1;
              fBits2 &= setToAnd.fBits2;
          }
           else
          {
              for (unsigned int index = 0; index < fByteCount; index++)
                  fByteArray[index] &= setToAnd.fByteArray[index];
          }
      }
  
      void operator|=(const CMStateSet& setToOr)
      {
          if (fBitCount < 65)
          {
              fBits1 |= setToOr.fBits1;
              fBits2 |= setToOr.fBits2;
          }
           else
          {
              for (unsigned int index = 0; index < fByteCount; index++)
                  fByteArray[index] |= setToOr.fByteArray[index];
          }
      }
  
      bool operator==(const CMStateSet& setToCompare) const
      {
          if (fBitCount != setToCompare.fBitCount)
              return false;
  
          if (fBitCount < 65)
          {
              return ((fBits1 == setToCompare.fBits1)
              &&      (fBits2 == setToCompare.fBits2));
          }
  
          for (unsigned int index = 0; index < fByteCount; index++)
          {
              if (fByteArray[index] != setToCompare.fByteArray[index])
                  return false;
          }
          return true;
      }
  
      CMStateSet& operator=(const CMStateSet& srcSet)
      {
          if (this == &srcSet)
              return *this;
  
          // They have to be the same size
          if (fBitCount != srcSet.fBitCount)
              ThrowXML(RuntimeException, XMLExcepts::Bitset_NotEqualSize);
  
          if (fBitCount < 65)
          {
              fBits1 = srcSet.fBits1;
              fBits2 = srcSet.fBits2;
          }
           else
          {
              for (unsigned int index = 0; index < fByteCount; index++)
                  fByteArray[index] = srcSet.fByteArray[index];
          }
          return *this;
      }
  
  
      bool getBit(const unsigned int bitToGet) const
      {
          if (bitToGet >= fBitCount)
              ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Bitset_BadIndex);
  
          if (fBitCount < 65)
          {
              unsigned int mask = (0x1UL << (bitToGet % 32));
              if (bitToGet < 32)
                  return ((fBits1 & mask) != 0);
              else
                  return ((fBits2 & mask) != 0);
          }
  
          // Create the mask and byte values
          const XMLByte mask1 = XMLByte(0x1 << (bitToGet % 8));
          const unsigned int byteOfs = bitToGet >> 3;
  
          // And access the right bit and byte
          return ((fByteArray[byteOfs] & mask1) != 0);
      }
  
      bool isEmpty() const
      {
          if (fBitCount < 65)
              return ((fBits1 == 0) && (fBits2 == 0));
  
          for (unsigned int index = 0; index < fByteCount; index++)
          {
              if (fByteArray[index] != 0)
                  return false;
          }
          return true;
      }
  
      void setBit(const unsigned int bitToSet)
      {
          if (bitToSet >= fBitCount)
              ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Bitset_BadIndex);
  
          if (fBitCount < 65)
          {
              const unsigned int mask = (0x1UL << (bitToSet % 32));
              if (bitToSet < 32)
              {
                  fBits1 &= ~mask;
                  fBits1 |= mask;
              }
               else
              {
                  fBits2 &= ~mask;
                  fBits2 |= mask;
              }
          }
           else
          {
              // Create the mask and byte values
              const XMLByte mask1 = XMLByte(0x1 << (bitToSet % 8));
              const unsigned int byteOfs = bitToSet >> 3;
  
              // And access the right bit and byte
              fByteArray[byteOfs] &= ~mask1;
              fByteArray[byteOfs] |= mask1;
          }
      }
  
      void zeroBits()
      {
          if (fBitCount < 65)
          {
              fBits1 = 0;
              fBits2 = 0;
          }
           else
          {
              for (unsigned int index = 0; index < fByteCount; index++)
                  fByteArray[index] = 0;
          }
      }
  
      int hashCode() const
      {
          if (fBitCount < 65)
          {
              return fBits1+ fBits2 * 31;
          }
          else
          {
              int hash = 0;
              for (int index = fByteCount - 1; index >= 0; index--)
                  hash = fByteArray[index] + hash * 31;
              return hash;
          }
  
      }
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      CMStateSet();
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fBitCount
      //      The count of bits that the outside world wants to support,
      //      so its the max bit index plus one.
      //
      //  fByteCount
      //      If the bit count is > 64, then we use the fByteArray member to
      //      store the bits, and this indicates its size in bytes. Otherwise
      //      its value is meaningless and unset.
      //
      //  fBits1
      //  fBits2
      //      When the bit count is <= 64 (very common), these hold the bits.
      //      Otherwise, the fByteArray member holds htem.
      //
      //  fByteArray
      //      The array of bytes used when the bit count is > 64. It is
      //      allocated as required.
      // -----------------------------------------------------------------------
      unsigned int    fBitCount;
      unsigned int    fByteCount;
      unsigned int    fBits1;
      unsigned int    fBits2;
      XMLByte*        fByteArray;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/CMUnaryOp.hpp
  
  Index: CMUnaryOp.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: CMUnaryOp.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/05/11 13:27:17  tng
   * Copyright update.
   *
   * Revision 1.2  2001/02/16 14:58:57  tng
   * Schema: Update Makefile, configure files, project files, and include path in
   * certain cpp files because of the move of the common Content Model files.  By Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.4  2000/03/02 19:55:37  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:11  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:37  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(CMUNARYOP_HPP)
  #define CMUNARYOP_HPP
  
  #include <util/XercesDefs.hpp>
  #include <validators/common/CMNode.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  
  class CMStateSet;
  
  class CMUnaryOp : public CMNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      CMUnaryOp
      (
          const   ContentSpecNode::NodeTypes  type
          ,       CMNode* const               nodeToAdopt
      );
      ~CMUnaryOp();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const CMNode* getChild() const;
      CMNode* getChild();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the public CMNode virtual interface
      // -----------------------------------------------------------------------
      bool isNullable() const;
  
  
  protected :
      // -----------------------------------------------------------------------
      //  Implementation of the protected CMNode virtual interface
      // -----------------------------------------------------------------------
      void calcFirstPos(CMStateSet& toSet) const;
      void calcLastPos(CMStateSet& toSet) const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fChild
      //      This is the reference to the one child that we have for this
      //      unary operation. We own it.
      // -----------------------------------------------------------------------
      CMNode*     fChild;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/ContentLeafNameTypeVector.hpp
  
  Index: ContentLeafNameTypeVector.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ContentLeafNameTypeVector.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.4  2001/08/07 15:21:20  knoaman
   * The value of 'fLeafCount' was not set.
   *
   * Revision 1.3  2001/05/11 13:27:17  tng
   * Copyright update.
   *
   * Revision 1.2  2001/04/19 18:17:28  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.1  2001/02/27 14:48:49  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   */
  
  
  #if !defined(CONTENTLEAFNAMETYPEVECTOR_HPP)
  #define CONTENTLEAFNAMETYPEVECTOR_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ValueVectorOf.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  
  class ContentLeafNameTypeVector
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      // -----------------------------------------------------------------------
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ContentLeafNameTypeVector();
      ContentLeafNameTypeVector
      (
          QName** const                      qName
        , ContentSpecNode::NodeTypes* const  types
        , const unsigned int                       count
      );
  
      ~ContentLeafNameTypeVector();
  
      ContentLeafNameTypeVector(const ContentLeafNameTypeVector&);
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      QName* getLeafNameAt(const unsigned int pos) const;
  
      const ContentSpecNode::NodeTypes getLeafTypeAt(const unsigned int pos) const;
      const unsigned int getLeafCount() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setValues
      (
          QName** const                      qName
        , ContentSpecNode::NodeTypes* const  types
        , const unsigned int                       count
      );
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      void operator=(const ContentLeafNameTypeVector&);
  
      // -----------------------------------------------------------------------
      //  helper methods
      // -----------------------------------------------------------------------
      void cleanUp();
      void init(const unsigned int);
  
      // -----------------------------------------------------------------------
      //  Private Data Members
      //
      // -----------------------------------------------------------------------
      QName**                       fLeafNames;
      ContentSpecNode::NodeTypes   *fLeafTypes;
      unsigned int                  fLeafCount;
  };
  
  inline void ContentLeafNameTypeVector::cleanUp()
  {
  	delete [] fLeafNames;
  	delete [] fLeafTypes;
  }
  
  inline void ContentLeafNameTypeVector::init(const unsigned int size)
  {
  	fLeafNames = new QName*[size];
  	fLeafTypes = new ContentSpecNode::NodeTypes [size];
  	fLeafCount = size;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/ContentSpecNode.hpp
  
  Index: ContentSpecNode.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: ContentSpecNode.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.16  2001/08/28 20:21:08  peiyongz
   * * AIX 4.2, xlC 3 rev.1 compilation error: get*() declared with external linkage
   * and called or defined before being declared as inline
   *
   * Revision 1.15  2001/08/24 12:48:48  tng
   * Schema: AllContentModel
   *
   * Revision 1.14  2001/08/23 11:54:26  tng
   * Add newline at the end and various typo fixes.
   *
   * Revision 1.13  2001/08/22 16:04:07  tng
   * ContentSpecNode copy constructor should copy Min and Max as well.
   *
   * Revision 1.12  2001/08/21 18:47:42  peiyongz
   * AIX 4.2, xlC 3 rev.1 compilation error: dtor() declared with external linkage
   *                                 and called or defined before being declared as inline
   *
   * Revision 1.11  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.10  2001/08/20 13:18:58  tng
   * bug in ContentSpecNode copy constructor.
   *
   * Revision 1.9  2001/07/24 18:33:13  knoaman
   * Added support for <group> + extra constraint checking for complexType
   *
   * Revision 1.8  2001/07/09 15:22:36  knoaman
   * complete <any> declaration.
   *
   * Revision 1.7  2001/05/11 13:27:18  tng
   * Copyright update.
   *
   * Revision 1.6  2001/05/10 16:33:08  knoaman
   * Traverse Schema Part III + error messages.
   *
   * Revision 1.5  2001/05/03 20:34:39  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.4  2001/04/19 18:17:29  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.3  2001/03/21 21:56:26  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.2  2001/02/27 14:48:49  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.4  2000/03/02 19:55:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:14  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:38  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(CONTENTSPECNODE_HPP)
  #define CONTENTSPECNODE_HPP
  
  #include <framework/XMLElementDecl.hpp>
  #include <util/XercesDefs.hpp>
  
  class XMLBuffer;
  class Grammar;
  
  
  class ContentSpecNode
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      // -----------------------------------------------------------------------
      enum NodeTypes
      {
          Leaf = 0
          , ZeroOrOne
          , ZeroOrMore
          , OneOrMore
          , Choice
          , Sequence
          , Any
          , Any_Other
          , Any_NS = 8
          , All = 9
          , Any_Lax = 22
          , Any_Other_Lax = 23
          , Any_NS_Lax = 24
          , Any_Skip = 38
          , Any_Other_Skip = 39
          , Any_NS_Skip = 40
  
          , UnknownType = -1
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      ContentSpecNode();
      ContentSpecNode(QName* const toAdopt);
      ContentSpecNode
      (
          const   NodeTypes               type
          ,       ContentSpecNode* const  firstToAdopt
          ,       ContentSpecNode* const  secondToAdopt
          , const bool                    adoptFirst = true
          , const bool                    adoptSecond = true
      );
      ContentSpecNode(const ContentSpecNode&);
  	~ContentSpecNode();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      QName* getElement();
      const QName* getElement() const;
      ContentSpecNode* getFirst();
      const ContentSpecNode* getFirst() const;
      ContentSpecNode* getSecond();
      const ContentSpecNode* getSecond() const;
      NodeTypes getType() const;
      ContentSpecNode* orphanFirst();
      ContentSpecNode* orphanSecond();
      unsigned int getMinOccurs() const;
      unsigned int getMaxOccurs() const;
      bool isFirstAdopted() const;
      bool isSecondAdopted() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setElement(QName* const toAdopt);
      void setFirst(ContentSpecNode* const toAdopt);
      void setSecond(ContentSpecNode* const toAdopt);
      void setType(const NodeTypes type);
      void setMinOccurs(unsigned int min);
      void setMaxOccurs(unsigned int max);
      void setAdoptFirst(bool adoptFirst);
      void setAdoptSecond(bool adoptSecond);
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous
      // -----------------------------------------------------------------------
      void formatSpec (XMLBuffer&      bufToFill)   const;
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
  
  
  
      // -----------------------------------------------------------------------
      //  Private Data Members
      //
      //  fElement
      //      If the type is Leaf, then this is the qName of the element. If the URI
      //      is fgPCDataElemId, then its a PCData node.
      //
      //  fFirst
      //  fSecond
      //      The optional first and second nodes. The fType field indicates
      //      which of these are valid. The validaty constraints are:
      //
      //          Leaf = Neither valid
      //          ZeroOrOne, ZeroOrMore = First
      //          Choice, Sequence, All = First and Second
      //          Any* = Neither valid
      //
      //  fType
      //      The type of node. This controls how many of the child node fields
      //      are used.
      //
      //  fAdoptFirst
      //      Indicate if this ContentSpecNode adopts the fFirst, and is responsible
      //      for deleting it.
      //
      //  fAdoptSecond
      //      Indicate if this ContentSpecNode adopts the fSecond, and is responsible
      //      for deleting it.
      //
      //  fMinOccurs
      //      Indicate the minimum times that this node can occur
      //
      //  fMaxOccurs
      //      Indicate the maximum times that this node can occur
      //      -1 (Unbounded), default (1)
      // -----------------------------------------------------------------------
      QName*              fElement;
      ContentSpecNode*    fFirst;
      ContentSpecNode*    fSecond;
      NodeTypes           fType;
      bool                fAdoptFirst;
      bool                fAdoptSecond;
      unsigned int        fMinOccurs;
      unsigned int        fMaxOccurs;
  };
  
  // ---------------------------------------------------------------------------
  //  ContentSpecNode: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline ContentSpecNode::ContentSpecNode() :
  
      fElement(0)
      , fFirst(0)
      , fSecond(0)
      , fType(ContentSpecNode::Leaf)
      , fAdoptFirst(true)
      , fAdoptSecond(true)
      , fMinOccurs(1)
      , fMaxOccurs(1)
  {
      fElement = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
  }
  
  inline
  ContentSpecNode::ContentSpecNode(QName* const element) :
  
      fElement(0)
      , fFirst(0)
      , fSecond(0)
      , fType(ContentSpecNode::Leaf)
      , fAdoptFirst(true)
      , fAdoptSecond(true)
      , fMinOccurs(1)
      , fMaxOccurs(1)
  {
      if (!element)
          fElement = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
      else
          fElement = new QName(element);
  }
  
  inline
  ContentSpecNode::ContentSpecNode(const  NodeTypes               type
                                  ,       ContentSpecNode* const  firstAdopt
                                  ,       ContentSpecNode* const  secondAdopt
                                  , const bool                    adoptFirst
                                  , const bool                    adoptSecond) :
  
      fElement(0)
      , fFirst(firstAdopt)
      , fSecond(secondAdopt)
      , fType(type)
      , fAdoptFirst(adoptFirst)
      , fAdoptSecond(adoptSecond)
      , fMinOccurs(1)
      , fMaxOccurs(1)
  {
      fElement = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
  }
  
  
  inline ContentSpecNode::~ContentSpecNode()
  {
      // Delete our children, which cause recursive cleanup
      if (fAdoptFirst) {
  		delete fFirst;
      }
  
      if (fAdoptSecond) {
  		delete fSecond;
      }
  
      delete fElement;
  }
  
  // ---------------------------------------------------------------------------
  //  ContentSpecNode: Getter methods
  // ---------------------------------------------------------------------------
  inline QName* ContentSpecNode::getElement()
  {
      return fElement;
  }
  
  inline const QName* ContentSpecNode::getElement() const
  {
      return fElement;
  }
  
  inline ContentSpecNode* ContentSpecNode::getFirst()
  {
      return fFirst;
  }
  
  inline const ContentSpecNode* ContentSpecNode::getFirst() const
  {
      return fFirst;
  }
  
  inline ContentSpecNode* ContentSpecNode::getSecond()
  {
      return fSecond;
  }
  
  inline const ContentSpecNode* ContentSpecNode::getSecond() const
  {
      return fSecond;
  }
  
  inline ContentSpecNode::NodeTypes ContentSpecNode::getType() const
  {
      return fType;
  }
  
  inline ContentSpecNode* ContentSpecNode::orphanFirst()
  {
      ContentSpecNode* retNode = fFirst;
      fFirst = 0;
      return retNode;
  }
  
  inline ContentSpecNode* ContentSpecNode::orphanSecond()
  {
      ContentSpecNode* retNode = fSecond;
      fSecond = 0;
      return retNode;
  }
  
  inline unsigned int ContentSpecNode::getMinOccurs() const
  {
      return fMinOccurs;
  }
  
  inline unsigned int ContentSpecNode::getMaxOccurs() const
  {
      return fMaxOccurs;
  }
  
  inline bool ContentSpecNode::isFirstAdopted() const
  {
      return fAdoptFirst;
  }
  
  inline bool ContentSpecNode::isSecondAdopted() const
  {
      return fAdoptSecond;
  }
  
  
  // ---------------------------------------------------------------------------
  //  ContentSpecType: Setter methods
  // ---------------------------------------------------------------------------
  inline void ContentSpecNode::setElement(QName* const element)
  {
      delete fElement;
      fElement = new QName(element);
  }
  
  inline void ContentSpecNode::setFirst(ContentSpecNode* const toAdopt)
  {
      if (fAdoptFirst)
          delete fFirst;
      fFirst = toAdopt;
  }
  
  inline void ContentSpecNode::setSecond(ContentSpecNode* const toAdopt)
  {
      if (fAdoptSecond)
          delete fSecond;
      fSecond = toAdopt;
  }
  
  inline void ContentSpecNode::setType(const NodeTypes type)
  {
      fType = type;
  }
  
  inline void ContentSpecNode::setMinOccurs(unsigned int min)
  {
      fMinOccurs = min;
  }
  
  inline void ContentSpecNode::setMaxOccurs(unsigned int max)
  {
      fMaxOccurs = max;
  }
  
  inline void ContentSpecNode::setAdoptFirst(bool newState)
  {
      fAdoptFirst = newState;
  }
  
  inline void ContentSpecNode::setAdoptSecond(bool newState)
  {
      fAdoptSecond = newState;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/DFAContentModel.hpp
  
  Index: DFAContentModel.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: DFAContentModel.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.12  2001/08/24 12:48:48  tng
   * Schema: AllContentModel
   *
   * Revision 1.11  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.10  2001/08/13 15:06:39  knoaman
   * update <any> validation.
   *
   * Revision 1.9  2001/06/13 20:50:55  peiyongz
   * fIsMixed: to handle mixed Content Model
   *
   * Revision 1.8  2001/05/11 13:27:18  tng
   * Copyright update.
   *
   * Revision 1.7  2001/05/03 21:02:30  tng
   * Schema: Add SubstitutionGroupComparator and update exception messages.  By Pei Yong Zhang.
   *
   * Revision 1.6  2001/04/19 18:17:30  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.5  2001/03/21 21:56:27  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.4  2001/03/21 19:29:55  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.3  2001/02/27 18:32:32  tng
   * Schema: Use XMLElementDecl instead of DTDElementDecl in Content Model.
   *
   * Revision 1.2  2001/02/27 14:48:52  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.4  2000/03/02 19:55:38  roddey
   * This checkin includes many changes done while waiting for the
   * 1.1.0 code to be finished. I can't list them all here, but a list is
   * available elsewhere.
   *
   * Revision 1.3  2000/02/24 20:16:48  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:37  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:19  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:38  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  #if !defined(DFACONTENTMODEL_HPP)
  #define DFACONTENTMODEL_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/ArrayIndexOutOfBoundsException.hpp>
  #include <framework/XMLContentModel.hpp>
  #include <validators/common/ContentLeafNameTypeVector.hpp>
  
  class ContentSpecNode;
  class CMLeaf;
  class CMNode;
  class CMStateSet;
  
  //
  //  DFAContentModel is the heavy weight derivative of ContentModel that does
  //  all of the non-trivial element content validation. This guy does the full
  //  bore regular expression to DFA conversion to create a DFA that it then
  //  uses in its validation algorithm.
  //
  //  NOTE:   Upstream work insures that this guy will never see a content model
  //          with PCDATA in it. Any model with PCDATA is 'mixed' and is handled
  //          via the MixedContentModel class, since mixed models are very
  //          constrained in form and easily handled via a special case. This
  //          also makes our life much easier here.
  //
  class DFAContentModel : public XMLContentModel
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      DFAContentModel(const bool              dtd
                    , ContentSpecNode* const  elemContentSpec);
  
      DFAContentModel(const bool              dtd
                    , ContentSpecNode* const  elemContentSpec
                    , const bool              isMixed);
  
      virtual ~DFAContentModel();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual content model interface
      // -----------------------------------------------------------------------
      virtual int validateContent
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
      ) const;
  
      virtual int validateContentSpecial
      (
          QName** const           children
        , const unsigned int      childCount
        , const unsigned int      emptyNamespaceId
        , GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
      ) const;
  
      virtual void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      ) ;
  
      virtual ContentLeafNameTypeVector* getContentLeafNameTypeVector() const ;
  
      virtual unsigned int getNextState(const unsigned int currentState,
                                        const unsigned int elementIndex) const;
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      DFAContentModel();
      DFAContentModel(const DFAContentModel&);
      void operator=(const DFAContentModel&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void buildDFA(ContentSpecNode* const curNode);
      CMNode* buildSyntaxTree(ContentSpecNode* const curNode);
      void calcFollowList(CMNode* const curNode);
      unsigned int* makeDefStateList() const;
      int postTreeBuildInit
      (
                  CMNode* const   nodeCur
          , const unsigned int    curIndex
      );
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElemMap
      //  fElemMapSize
      //      This is the map of unique input symbol elements to indices into
      //      each state's per-input symbol transition table entry. This is part
      //      of the built DFA information that must be kept around to do the
      //      actual validation.
      //
      //  fElemMapType
      //      This is a map of whether the element map contains information
      //      related to ANY models.
      //
      //  fEmptyOk
      //      This is an optimization. While building the transition table we
      //      can see whether this content model would approve of an empty
      //      content (which could happen if everything was optional.) So we
      //      set this flag and short circuit that check, which would otherwise
      //      be ugly and time consuming if we tried to determine it at each
      //      validation call.
      //
      //  fEOCPos
      //      The NFA position of the special EOC (end of content) node. This
      //      is saved away since its used during the DFA build.
      //
      //  fFinalStateFlags
      //      This is an array of booleans, one per state (there are
      //      fTransTableSize states in the DFA) that indicates whether that
      //      state is a final state.
      //
      //  fFollowList
      //      The list of follow positions for each NFA position (i.e. for each
      //      non-epsilon leaf node.) This is only used during the building of
      //      the DFA, and is let go afterwards.
      //
      //  fHeadNode
      //      This is the head node of our intermediate representation. It is
      //      only non-null during the building of the DFA (just so that it
      //      does not have to be passed all around.) Once the DFA is built,
      //      this is no longer required so its deleted.
      //
      //  fLeafCount
      //      The count of leaf nodes. This is an important number that set some
      //      limits on the sizes of data structures in the DFA process.
      //
      //  fLeafList
      //      An array of non-epsilon leaf nodes, which is used during the DFA
      //      build operation, then dropped. These are just references to nodes
      //      pointed to by fHeadNode, so we don't have to clean them up, just
      //      the actually leaf list array itself needs cleanup.
      //
      //  fLeafListType
      //      Array mapping ANY types to the leaf list.
      //
      //  fTransTable
      //  fTransTableSize
      //      This is the transition table that is the main by product of all
      //      of the effort here. It is an array of arrays of ints. The first
      //      dimension is the number of states we end up with in the DFA. The
      //      second dimensions is the number of unique elements in the content
      //      model (fElemMapSize). Each entry in the second dimension indicates
      //      the new state given that input for the first dimension's start
      //      state.
      //
      //      The fElemMap array handles mapping from element indexes to
      //      positions in the second dimension of the transition table.
      //
      //      fTransTableSize is the number of valid entries in the transition
      //      table, and in the other related tables such as fFinalStateFlags.
      //
      //  fDTD
      //      Boolean to allow DTDs to validate even with namespace support.
      //
      //  fIsMixed
      //      DFA ContentModel with mixed PCDATA.
      // -----------------------------------------------------------------------
      QName**                 fElemMap;
      ContentSpecNode::NodeTypes  *fElemMapType;
      unsigned int            fElemMapSize;
      bool                    fEmptyOk;
      unsigned int            fEOCPos;
      bool*                   fFinalStateFlags;
      CMStateSet**            fFollowList;
      CMNode*                 fHeadNode;
      unsigned int            fLeafCount;
      CMLeaf**                fLeafList;
      ContentSpecNode::NodeTypes  *fLeafListType;
      unsigned int**          fTransTable;
      unsigned int            fTransTableSize;
      bool                    fDTD;
      bool                    fIsMixed;
      ContentLeafNameTypeVector *fLeafNameTypeVector;
  };
  
  
  inline unsigned int
  DFAContentModel::getNextState(const unsigned int currentState,
                                const unsigned int elementIndex) const {
  
      if (currentState == XMLContentModel::gInvalidTrans) {
          return XMLContentModel::gInvalidTrans;
      }
  
      if (currentState >= fTransTableSize || elementIndex >= fElemMapSize) {
          ThrowXML(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex);
      }
  
      return fTransTable[currentState][elementIndex];
  }
  
  #endif
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/Grammar.hpp
  
  Index: Grammar.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: Grammar.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/09/14 14:50:22  tng
   * Schema: Fix some wildcard bugs, and some retrieving qualified/unqualified element decl problems.
   *
   * Revision 1.5  2001/05/28 20:56:18  tng
   * Schema: Move getTargetNamespace as virtual function in base class Grammar
   *
   * Revision 1.4  2001/05/11 13:27:18  tng
   * Copyright update.
   *
   * Revision 1.3  2001/05/03 20:34:40  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.2  2001/04/19 18:17:31  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.1  2001/03/21 21:56:27  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  
  #if !defined(GRAMMAR_HPP)
  #define GRAMMAR_HPP
  
  #include <framework/XMLElementDecl.hpp>
  #include <framework/XMLEntityDecl.hpp>
  #include <framework/XMLNotationDecl.hpp>
  
  //
  // This abstract class specifies the interface for a Grammar
  //
  
  class VALIDATORS_EXPORT Grammar
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Class Specific Types
      //
      //  DTDGrammarType    - Indicate this Grammar is built from a DTD.
      //  SchemaGrammarType - Indicate this Grammar is built from a Schema.
      //
      //  TOP_LEVEL_SCOPE - outermost scope level (i.e. global) of a declaration.
      //                    For DTD, all element decls and attribute decls always
      //                    have TOP_LEVEL_SCOPE.  For schema, it may varies if
      //                    it is inside a complex type.
      //
      //  UNKNOWN_SCOPE   - unknown scope level.  None of the decls should have this.
      //
      // -----------------------------------------------------------------------
      enum GrammarType {
          DTDGrammarType
        , SchemaGrammarType
      };
  
      enum {
           UNKNOWN_SCOPE = -2
         , TOP_LEVEL_SCOPE = -1
      };
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      virtual ~Grammar(){};
  
      // -----------------------------------------------------------------------
      //  Virtual Getter methods
      // -----------------------------------------------------------------------
      virtual GrammarType getGrammarType()=0;
      virtual const XMLCh* getTargetNamespace() const =0;
  
      // Element Decl
      virtual XMLElementDecl* findOrAddElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
          ,       bool&           wasAdded
      ) = 0;
  
      virtual unsigned int getElemId
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const = 0;
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const = 0;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      ) = 0;
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      )   const = 0;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      ) = 0;
  
      // Notation
      virtual const XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      )   const=0;
  
      virtual XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      )=0;
  
      // -----------------------------------------------------------------------
      //  Virtual Setter methods
      // -----------------------------------------------------------------------
      virtual XMLElementDecl* putElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
      ) = 0;
  
      virtual unsigned int putElemDecl
      (
          XMLElementDecl* const elemDecl
      )   const = 0;
  
      virtual unsigned int putNotationDecl
      (
          XMLNotationDecl* const notationDecl
      )   const=0;
  
      // -----------------------------------------------------------------------
      //  Virtual methods
      // -----------------------------------------------------------------------
      virtual void reset()=0;
  
  protected :
      // -----------------------------------------------------------------------
      //  Hidden constructors
      // -----------------------------------------------------------------------
      Grammar() {};
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/GrammarResolver.hpp
  
  Index: GrammarResolver.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.apache.org.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /**
   * $Id: GrammarResolver.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  #if !defined(GRAMMARRESOLVER_HPP)
  #define GRAMMARRESOLVER_HPP
  
  #include <util/RefHashTableOf.hpp>
  #include <util/StringPool.hpp>
  #include <validators/common/Grammar.hpp>
  
  
  class DatatypeValidator;
  class DatatypeValidatorFactory;
  
  
  /**
   * This class embodies the representation of a Grammar pool Resolver.
   * This class is called from the validator.
   *
   */
  
  class GrammarResolver {
  public:
  
      /** @name Constructor and Destructor */
      //@{
      /**
       *
       * Default Constructor
       */
      GrammarResolver();
  
      /**
        * Destructor
        */
      ~GrammarResolver();
  
      //@}
  
      /** @name Getter methods */
      //@{
      /**
       * Retrieve the DatatypeValidatorFactory Registry
       * @return the DatatypeValidatorFactory Registry
       */
       DatatypeValidatorFactory* getDatatypeRegistry();
  
      /**
       * Retrieve the grammar that is associated with the specified namespace key
       *
       * @param  nameSpaceKey   Namespace key into Grammar pool
       * @return Grammar abstraction associated with the NameSpace key.
       */
      Grammar* getGrammar( const XMLCh* const nameSpaceKey ) ;
  
      /**
       * Get an enumeration of Grammar in the Grammar pool
       *
       * @return enumeration of Grammar in Grammar pool
       */
      RefHashTableOfEnumerator<Grammar> getGrammarEnumerator() const;
  
  
      /**
       * Get a string pool of schema grammar element/attribute names/prefixes
       * (used by TraverseSchema)
       *
       * @return a string pool of schema grammar element/attribute names/prefixes
       */
      XMLStringPool* getStringPool();
  
      /**
       * Is the specified Namespace key in Grammar pool?
       *
       * @param  nameSpaceKey    Namespace key
       * @return True if Namespace key association is in the Grammar pool.
       */
      bool containsNameSpace( const XMLCh* const nameSpaceKey );
  
      //@}
  
      /** @name GrammarResolver methods */
      //@{
      /**
       * Add the Grammar with Namespace Key associated to the Grammar Pool.
       * The Grammar will be owned by the Grammar Pool.
       *
       * @param  nameSpaceKey    Key to associate with Grammar abstraction
       * @param  grammarToAdopt  Grammar abstraction used by validator.
       */
      void putGrammar(const XMLCh* const nameSpaceKey, Grammar* const grammarToAdopt );
  
      /**
       * Remove the Grammar with Namespace Key associated from the Grammar Pool
       *
       * @param  nameSpaceKey    Key to associate with Grammar abstraction
       */
      void removeGrammar( const XMLCh* const nameSpaceKey );
  
      /**
       * Reset internal Namespace/Grammar registry.
       */
      void reset();
  
      //@}
  
  private:
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fStringPool          The string pool used by TraverseSchema to store
      //                       element/attribute names and prefixes.
      //
      //  fGrammarRegistry     The Grammar Pool.  It represents a mapping
      //                       between Namespace and a Grammar
      //  fDataTypeReg         DatatypeValidatorFactory register
      //
      // -----------------------------------------------------------------------
      XMLStringPool                fStringPool;
      RefHashTableOf<Grammar>*     fGrammarRegistry;
      DatatypeValidatorFactory*    fDataTypeReg;
  };
  
  inline XMLStringPool* GrammarResolver::getStringPool() {
  
      return &fStringPool;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/MixedContentModel.hpp
  
  Index: MixedContentModel.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: MixedContentModel.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.10  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.9  2001/08/13 15:06:39  knoaman
   * update <any> validation.
   *
   * Revision 1.8  2001/05/11 13:27:19  tng
   * Copyright update.
   *
   * Revision 1.7  2001/05/03 21:02:31  tng
   * Schema: Add SubstitutionGroupComparator and update exception messages.  By Pei Yong Zhang.
   *
   * Revision 1.6  2001/04/19 18:17:33  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.5  2001/03/21 21:56:28  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.4  2001/03/21 19:29:58  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.3  2001/02/27 18:32:33  tng
   * Schema: Use XMLElementDecl instead of DTDElementDecl in Content Model.
   *
   * Revision 1.2  2001/02/27 14:48:55  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.3  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:39  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:45  twl
   * Initial checkin
   *
   * Revision 1.3  1999/11/08 20:45:43  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(MIXEDCONTENTMODEL_HPP)
  #define MIXEDCONTENTMODEL_HPP
  
  #include <util/ValueVectorOf.hpp>
  #include <framework/XMLContentModel.hpp>
  #include <validators/common/ContentLeafNameTypeVector.hpp>
  
  class ContentSpecNode;
  
  //
  //  MixedContentModel is a derivative of the abstract content model base
  //  class that handles the special case of mixed model elements. If an element
  //  is mixed model, it has PCDATA as its first possible content, followed
  //  by an alternation of the possible children. The children cannot have any
  //  numeration or order, so it must look like this:
  //
  //  <!ELEMENT Foo ((#PCDATA|a|b|c|)*)>
  //
  //  So, all we have to do is to keep an array of the possible children and
  //  validate by just looking up each child being validated by looking it up
  //  in the list.
  //
  class MixedContentModel : public XMLContentModel
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      MixedContentModel
      (
          const bool              dtd
        , ContentSpecNode* const  parentContentSpec
  		, const bool              ordered = false
      );
  
      ~MixedContentModel();
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool hasDups() const;
  
      // -----------------------------------------------------------------------
      //  Implementation of the ContentModel virtual interface
      // -----------------------------------------------------------------------
      virtual int validateContent
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
      )   const;
  
  	virtual int validateContentSpecial
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
        , GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
      ) const;
  
      virtual ContentLeafNameTypeVector* getContentLeafNameTypeVector() const ;
  
      virtual unsigned int getNextState(const unsigned int currentState,
                                        const unsigned int elementIndex) const;
  
      virtual void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      ) ;
  
  private :
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void buildChildList
      (
          ContentSpecNode* const                     curNode
        , ValueVectorOf<QName*>&                     toFill
        , ValueVectorOf<ContentSpecNode::NodeTypes>& toType
      );
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      MixedContentModel();
      MixedContentModel(const MixedContentModel&);
      void operator=(const MixedContentModel&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fCount
      //      The count of possible children in the fChildren member.
      //
      //  fChildren
      //      The list of possible children that we have to accept. This array
      //      is allocated as large as needed in the constructor.
      //
      //  fChildTypes
      //      The type of the children to support ANY.
      //
      //  fOrdered
      //      True if mixed content model is ordered. DTD mixed content models
      //      are <em>always</em> unordered.
      //
      //  fDTD
      //      Boolean to allow DTDs to validate even with namespace support.
      //
      // -----------------------------------------------------------------------
      unsigned int    fCount;
      QName**         fChildren;
      ContentSpecNode::NodeTypes*  fChildTypes;
      bool            fOrdered;
      bool            fDTD;
  
  };
  
  inline ContentLeafNameTypeVector* MixedContentModel::getContentLeafNameTypeVector() const
  {
  	return 0;
  }
  
  inline unsigned int
  MixedContentModel::getNextState(const unsigned int currentState,
                                  const unsigned int elementIndex) const {
  
      return XMLContentModel::gInvalidTrans;
  }
  
  inline void MixedContentModel::checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      )
  {
      // rename back
      unsigned int i = 0;
      for (i = 0; i < fCount; i++) {
          unsigned int orgURIIndex = fChildren[i]->getURI();
          fChildren[i]->setURI(pContentSpecOrgURI[orgURIIndex]);
      }
  
      // for mixed content model, it's only a sequence
      // UPA checking is not necessary
  }
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/common/SimpleContentModel.hpp
  
  Index: SimpleContentModel.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SimpleContentModel.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.11  2001/10/03 15:08:45  tng
   * typo fix: remove the extra space which may confuse some compilers while constructing the qname.
   *
   * Revision 1.10  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.9  2001/08/13 15:06:39  knoaman
   * update <any> validation.
   *
   * Revision 1.8  2001/05/11 13:27:20  tng
   * Copyright update.
   *
   * Revision 1.7  2001/05/03 21:02:33  tng
   * Schema: Add SubstitutionGroupComparator and update exception messages.  By Pei Yong Zhang.
   *
   * Revision 1.6  2001/04/19 18:17:34  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.5  2001/03/21 21:56:29  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.4  2001/03/21 19:30:02  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.3  2001/02/27 14:48:57  tng
   * Schema: Add CMAny and ContentLeafNameTypeVector, by Pei Yong Zhang
   *
   * Revision 1.2  2001/02/16 14:58:57  tng
   * Schema: Update Makefile, configure files, project files, and include path in
   * certain cpp files because of the move of the common Content Model files.  By Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/16 14:17:29  tng
   * Schema: Move the common Content Model files that are shared by DTD
   * and schema from 'DTD' folder to 'common' folder.  By Pei Yong Zhang.
   *
   * Revision 1.3  2000/02/24 20:16:49  abagchi
   * Swat for removing Log from API docs
   *
   * Revision 1.2  2000/02/09 21:42:39  abagchi
   * Copyright swat
   *
   * Revision 1.1.1.1  1999/11/09 01:03:48  twl
   * Initial checkin
   *
   * Revision 1.2  1999/11/08 20:45:44  rahul
   * Swat for adding in Product name and CVS comment log variable.
   *
   */
  
  
  #if !defined(SIMPLECONTENTMODEL_HPP)
  #define SIMPLECONTENTMODEL_HPP
  
  #include <framework/XMLContentModel.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  
  //
  //  SimpleContentModel is a derivative of the abstract content model base
  //  class that handles a small set of simple content models that are just
  //  way overkill to give the DFA treatment.
  //
  //  DESCRIPTION:
  //
  //  This guy handles the following scenarios:
  //
  //      a
  //      a?
  //      a*
  //      a+
  //      a,b
  //      a|b
  //
  //  These all involve a unary operation with one element type, or a binary
  //  operation with two elements. These are very simple and can be checked
  //  in a simple way without a DFA and without the overhead of setting up a
  //  DFA for such a simple check.
  //
  //  NOTE:   Pass the XMLElementDecl::fgPCDataElemId value to represent a
  //          PCData node. Pass XMLElementDecl::fgInvalidElemId for unused element
  //
  class SimpleContentModel : public XMLContentModel
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      SimpleContentModel
      (
          const bool                        dtd
        , QName* const                      firstChild
        , QName* const                      secondChild
        , const ContentSpecNode::NodeTypes  cmOp
      );
  
      ~SimpleContentModel();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the ContentModel virtual interface
      // -----------------------------------------------------------------------
  	virtual int validateContent
      (
          QName** const         children
        , const unsigned int    childCount
        , const unsigned int    emptyNamespaceId
      ) const;
  
  	virtual int validateContentSpecial
      (
          QName** const           children
        , const unsigned int      childCount
        , const unsigned int      emptyNamespaceId
        , GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
      ) const;
  
      virtual ContentLeafNameTypeVector *getContentLeafNameTypeVector() const;
  
      virtual unsigned int getNextState(const unsigned int currentState,
                                        const unsigned int elementIndex) const;
  
      virtual void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
        , unsigned int*     const pContentSpecOrgURI
      ) ;
  
   private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      SimpleContentModel();
      SimpleContentModel(const SimpleContentModel&);
      void operator=(const SimpleContentModel&);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fFirstChild
      //  fSecondChild
      //      The first (and optional second) child node. The
      //      operation code tells us whether the second child is used or not.
      //
      //  fOp
      //      The operation that this object represents. Since this class only
      //      does simple contents, there is only ever a single operation
      //      involved (i.e. the children of the operation are always one or
      //      two leafs.)
      //
      //  fDTD
      //      Boolean to allow DTDs to validate even with namespace support. */
      //
      // -----------------------------------------------------------------------
      QName*                     fFirstChild;
      QName*                     fSecondChild;
      ContentSpecNode::NodeTypes fOp;
      bool                       fDTD;
  };
  
  
  // ---------------------------------------------------------------------------
  //  SimpleContentModel: Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline
  SimpleContentModel::SimpleContentModel( const bool                        dtd
                                        , QName* const                      firstChild
                                        , QName* const                      secondChild
                                        , const ContentSpecNode::NodeTypes  cmOp) :
  
      fFirstChild(0)
      , fSecondChild(0)
      , fOp(cmOp)
  	, fDTD(dtd)
  {
      if (firstChild)
          fFirstChild = new QName(firstChild);
      else
          fFirstChild = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
  
      if (secondChild)
          fSecondChild = new QName(secondChild);
      else
          fSecondChild = new QName(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, XMLElementDecl::fgInvalidElemId);
  }
  
  inline SimpleContentModel::~SimpleContentModel()
  {
      delete fFirstChild;
      delete fSecondChild;
  }
  
  
  // ---------------------------------------------------------------------------
  //  SimpleContentModel: Virtual methods
  // ---------------------------------------------------------------------------
  inline unsigned int
  SimpleContentModel::getNextState(const unsigned int currentState,
                                   const unsigned int elementIndex) const {
  
      return XMLContentModel::gInvalidTrans;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractNumericFacetValidator.hpp
  
  Index: AbstractNumericFacetValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: AbstractNumericFacetValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: AbstractNumericFacetValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/10/01 16:13:56  peiyongz
   * DTV Reorganization:new classes: AbstractNumericFactValidator/ AbstractNumericValidator
   *
   */
  
  #if !defined(ABSTRACT_NUMERIC_FACET_VALIDATOR_HPP)
  #define ABSTRACT_NUMERIC_FACET_VALIDATOR_HPP
  
  #include <validators/datatype/DatatypeValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLNumber.hpp>
  
  class VALIDATORS_EXPORT AbstractNumericFacetValidator : public DatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      virtual ~AbstractNumericFacetValidator();
  
  	//@}
  
  protected:
  
      AbstractNumericFacetValidator(DatatypeValidator*            const baseValidator
                                  , RefHashTableOf<KVStringPair>* const facets
                                  , const int                           finalSet
                                  , const ValidatorType                 type);
  
      void init(RefVectorOf<XMLCh>*  const enums);
  
      //
      // Abstract interface
      //
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value) = 0;
  
      virtual void inheritAdditionalFacet() = 0;
  
      virtual void checkAdditionalFacetConstraints() const = 0;
  
      virtual void checkAdditionalFacetConstraintsBase() const = 0;
  
      virtual int  compareValues(const XMLNumber* const lValue
                               , const XMLNumber* const rValue) = 0;
  
      virtual void checkContent(const XMLCh* const content
                              , bool               asBase) = 0;
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
      virtual void  setMaxInclusive(const XMLCh* const) = 0;
  
      virtual void  setMaxExclusive(const XMLCh* const) = 0;
  
      virtual void  setMinInclusive(const XMLCh* const) = 0;
  
      virtual void  setMinExclusive(const XMLCh* const) = 0;
  
      virtual void  setEnumeration() = 0;
  
      virtual void  initializeValues() {};
  
      static const int INDETERMINATE;
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
      inline XMLNumber* const            getMaxInclusive() const;
  
      inline XMLNumber* const            getMaxExclusive() const;
  
      inline XMLNumber* const            getMinInclusive() const;
  
      inline XMLNumber* const            getMinExclusive() const;
  
      inline RefVectorOf<XMLNumber>*     getEnumeration() const;
  
      // -----------------------------------------------------------------------
      //  Protected data members
      //
      //      Allow access to derived class
      // 
      // -----------------------------------------------------------------------
      bool                     fMaxInclusiveInherited;
      bool                     fMaxExclusiveInherited;
      bool                     fMinInclusiveInherited;
      bool                     fMinExclusiveInherited;
      bool                     fEnumerationInherited;
  
      XMLNumber*               fMaxInclusive;
      XMLNumber*               fMaxExclusive;
      XMLNumber*               fMinInclusive;
      XMLNumber*               fMinExclusive;
  
      RefVectorOf<XMLNumber>*  fEnumeration;    // save the actual value
      RefVectorOf<XMLCh>*      fStrEnumeration;
  
  private:
  
      void assignFacet();
  
      void inspectFacet();
  
      void inspectFacetBase();
  
      void inheritFacet();
      
  };
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
  XMLNumber* const AbstractNumericFacetValidator::getMaxInclusive() const
  {
      return fMaxInclusive;
  }
  
  XMLNumber* const AbstractNumericFacetValidator::getMaxExclusive() const
  {
      return fMaxExclusive;
  }
  
  XMLNumber* const AbstractNumericFacetValidator::getMinInclusive() const
  {
      return fMinInclusive;
  }
  
  XMLNumber* const AbstractNumericFacetValidator::getMinExclusive() const
  {
      return fMinExclusive;
  }
  
  RefVectorOf<XMLNumber>* AbstractNumericFacetValidator::getEnumeration() const
  {
      return fEnumeration;
  }
  
  /**
    * End of file AbstractNumericFacetValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractNumericValidator.hpp
  
  Index: AbstractNumericValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: AbstractNumericValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: AbstractNumericValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/10/01 16:13:56  peiyongz
   * DTV Reorganization:new classes: AbstractNumericFactValidator/ AbstractNumericValidator
   *
   */
  
  #if !defined(ABSTRACT_NUMERIC_VALIDATOR_HPP)
  #define ABSTRACT_NUMERIC_VALIDATOR_HPP
  
  #include <validators/datatype/AbstractNumericFacetValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLNumber.hpp>
  
  class VALIDATORS_EXPORT AbstractNumericValidator : public AbstractNumericFacetValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      virtual ~AbstractNumericValidator();
  
  	//@}
  
  	virtual void validate(const XMLCh* const content);
  
  protected:
  
      AbstractNumericValidator(DatatypeValidator*            const baseValidator
                             , RefHashTableOf<KVStringPair>* const facets
                             , const int                           finalSet
                             , const ValidatorType                 type);
  
      inline void init(RefVectorOf<XMLCh>*  const enums);
  
      //
      // Abstract interface
      //
      virtual void checkContent(const XMLCh* const content
                              , bool               asBase) = 0;
  
      void boundsCheck(const XMLNumber* const);
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
  
  };
  
  void AbstractNumericValidator::init(RefVectorOf<XMLCh>*  const enums)
  {
      AbstractNumericFacetValidator::init(enums);
  }
  
  /**
    * End of file AbstractNumericValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AbstractStringValidator.hpp
  
  Index: AbstractStringValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: AbstractStringValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: AbstractStringValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/10/11 19:32:12  peiyongz
   * Allow derived to overwrite inheritFacet()
   *
   * Revision 1.5  2001/10/09 21:00:54  peiyongz
   * . init() take 1 arg,
   * . make inspectFacetBase() virtual to allow ListDTV provide its own method,
   * . reorganize init() into assignFacet(), inspectFacet(), inspectFacetBase() and
   * inheritFacet() to improve mantainability.
   * . macro to simplify code
   * . save get***() to temp vars
   *
   * Revision 1.4  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.3  2001/09/24 15:30:16  peiyongz
   * DTV Reorganization: init() to be invoked from derived class' ctor to allow
   *        correct resolution of virtual methods like assignAdditionalFacet(),
   *        inheritAdditionalFacet(), etc.
   *
   * Revision 1.2  2001/09/19 18:48:27  peiyongz
   * DTV reorganization:getLength() added, move inline to class declaration to avoid inline
   * function interdependency.
   *
   * Revision 1.1  2001/09/18 14:45:04  peiyongz
   * DTV reorganization
   *
   */
  
  #if !defined(ABSTRACT_STRING_VALIDATOR_HPP)
  #define ABSTRACT_STRING_VALIDATOR_HPP
  
  #include <validators/datatype/DatatypeValidator.hpp>
  
  class VALIDATORS_EXPORT AbstractStringValidator : public DatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      virtual ~AbstractStringValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
  protected:
  
      AbstractStringValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , const int                           finalSet
                            , const ValidatorType                 type);
  
      void init(RefVectorOf<XMLCh>*           const enums);
  
      //
      // Abstract interface
      //
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value) = 0;
  
      virtual void inheritAdditionalFacet() = 0;
  
      virtual void checkAdditionalFacetConstraints() const = 0;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const = 0;
  
      virtual void checkValueSpace(const XMLCh* const content) = 0;
  
      virtual int  getLength(const XMLCh* const content) const = 0;
  
      //
      //   to Allow ListDTV to overwrite
      //
      virtual void inspectFacetBase();
  
      virtual void inheritFacet();
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
      inline unsigned int         getLength() const;
  
      inline unsigned int         getMaxLength() const;
  
      inline unsigned int         getMinLength() const;
  
      inline RefVectorOf<XMLCh>*  getEnumeration() const;
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
      inline void                 setLength(unsigned int);
  
      inline void                 setMaxLength(unsigned int);
  
      inline void                 setMinLength(unsigned int);
  
      inline void                 setEnumeration(RefVectorOf<XMLCh>*, bool);
  
  private:
  
      void checkContent(const XMLCh* const content, bool asBase);
  
      void assignFacet();
  
      void inspectFacet();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
       unsigned int         fLength;
       unsigned int         fMaxLength;
       unsigned int         fMinLength;
       bool                 fEnumerationInherited;
       RefVectorOf<XMLCh>*  fEnumeration;
  };
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
  unsigned int AbstractStringValidator::getLength() const
  {
      return fLength;
  }
  
  unsigned int AbstractStringValidator::getMaxLength() const
  {
      return fMaxLength;
  }
  
  unsigned int AbstractStringValidator::getMinLength() const
  {
      return fMinLength;
  }
  
  RefVectorOf<XMLCh>* AbstractStringValidator:: getEnumeration() const
  {
      return fEnumeration;
  }
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
  void AbstractStringValidator::setLength(unsigned int newLength)
  {
      fLength = newLength;
  }
  
  void AbstractStringValidator::setMaxLength(unsigned int newMaxLength)
  {
      fMaxLength = newMaxLength;
  }
  
  void AbstractStringValidator::setMinLength(unsigned int newMinLength)
  {
      fMinLength = newMinLength;
  }
  
  void AbstractStringValidator::setEnumeration(RefVectorOf<XMLCh>* enums
                                             , bool                inherited)
  {
      if (enums)
      {
          if (fEnumeration && !fEnumerationInherited)
              delete fEnumeration;
  
          fEnumeration = enums;
          fEnumerationInherited = inherited;
          setFacetsDefined(DatatypeValidator::FACET_ENUMERATION);
      }
  }
  
  /**
    * End of file AbstractStringValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AnySimpleTypeDatatypeValidator.hpp
  
  Index: AnySimpleTypeDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: AnySimpleTypeDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  #if !defined(ANYSIMPLETYPEDATATYPEVALIDATOR_HPP)
  #define ANYSIMPLETYPEDATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/DatatypeValidator.hpp>
  
  
  class VALIDATORS_EXPORT AnySimpleTypeDatatypeValidator : public DatatypeValidator
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructor
      // -----------------------------------------------------------------------
  	/** @name Constructor */
      //@{
  
      AnySimpleTypeDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      //  Public Destructor
      // -----------------------------------------------------------------------
  	/** @name Destructor. */
      //@{
  
      virtual ~AnySimpleTypeDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
  
      /**
        * Returns default value (collapse) for whiteSpace facet.
        * This function is overwritten in StringDatatypeValidator.
        */
      short getWSFacet () const;
  
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
       /**
  	   * Checks that the "content" string is valid datatype.
         * If invalid, a Datatype validation exception is thrown.
  	   *
  	   * @param  content   A string containing the content to be validated
  	   *
  	   */
  	void validate(const XMLCh* const content);
  
      /**
        * Checks whether a given type can be used as a substitute
        *
        * @param  toCheck    A datatype validator of the type to be used as a
        *                    substitute
        *
        */
  
      bool isSubstitutableBy(const DatatypeValidator* const toCheck);
  
  	 //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
        * Compares content in the Domain value vs. lexical value.
        *
        * @param  value1    string to compare
        *
        * @param  value2    string to compare
        *
        */
      int compare(const XMLCh* const value1, const XMLCh* const value2);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
  	DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const,
                                     RefVectorOf<XMLCh>* const enums,
                                     const int finalSet);
  };
  
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidator: Getters
  // ---------------------------------------------------------------------------
  inline short AnySimpleTypeDatatypeValidator::getWSFacet() const {
  
      return DatatypeValidator::PRESERVE;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidators: Compare methods
  // ---------------------------------------------------------------------------
  inline int AnySimpleTypeDatatypeValidator::compare(const XMLCh* const lValue,
                                                     const XMLCh* const rValue)
  {
      return -1;
  }
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidators: Validation methods
  // ---------------------------------------------------------------------------
  inline bool
  AnySimpleTypeDatatypeValidator::isSubstitutableBy(const DatatypeValidator* const toCheck)
  {
      return true;
  }
  
  inline void
  AnySimpleTypeDatatypeValidator::validate(const XMLCh* const content)
  {
      return;
  }
  
  #endif
  
  /**
    * End of file AnySimpleTypeDatatypeValidator.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/AnyURIDatatypeValidator.hpp
  
  Index: AnyURIDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: AnyURIDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: AnyURIDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/09/24 15:33:15  peiyongz
   * DTV Reorganization: virtual methods moved to *.cpp
   *
   * Revision 1.6  2001/09/19 18:49:17  peiyongz
   * DTV reorganization: move inline to class declaration to avoid inline
   * function interdependency.
   *
   * Revision 1.5  2001/09/18 20:38:02  peiyongz
   * DTV reorganization: inherit from AbstractStringValidator.
   *
   * Revision 1.4  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.3  2001/08/21 18:42:53  peiyongz
   * Bugzilla# 2816: cleanUp() declared with external linkage and called
   *                          before defined as inline
   *
   * Revision 1.2  2001/08/10 16:21:19  peiyongz
   * use XMLUri instead of XMLURL
   *
   * Revision 1.1  2001/08/01 18:49:16  peiyongz
   * AnyRUIDatatypeValidator
   *
   *
   */
  
  #if !defined(ANYURI_DATATYPEVALIDATOR_HPP)
  #define ANYURI_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  #include <util/XMLUri.hpp>
  
  class VALIDATORS_EXPORT AnyURIDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      AnyURIDatatypeValidator();
  
      AnyURIDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets 
                            , RefVectorOf<XMLCh>*           const enums                          
                            , const int                           finalSet);
  
      virtual ~AnyURIDatatypeValidator();
  
  	//@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      inline void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fTempURI
      //      to support relative URI, such as the urispec= "\sample"
  	//		
      // -----------------------------------------------------------------------    
  
      XMLUri       *fTempURI;   
  
  };
  
  void AnyURIDatatypeValidator::cleanUp()
  {
      if (fTempURI)
      {
          delete fTempURI;
          fTempURI = 0;
      }
  }
  
  /**
    * End of file AnyURIDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/Base64BinaryDatatypeValidator.hpp
  
  Index: Base64BinaryDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: Base64BinaryDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: Base64BinaryDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/09/24 15:33:15  peiyongz
   * DTV Reorganization: virtual methods moved to *.cpp
   *
   * Revision 1.5  2001/09/19 18:49:40  peiyongz
   * DTV reorganization: inherit from AbstractStringVaildator
   *
   */
  
  #if !defined(BASE64BINARY_DATATYPEVALIDATOR_HPP)
  #define BASE64BINARY_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  
  class VALIDATORS_EXPORT Base64BinaryDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      Base64BinaryDatatypeValidator();
  
      Base64BinaryDatatypeValidator(DatatypeValidator*            const baseValidator
                                  , RefHashTableOf<KVStringPair>* const facets    
                                  , RefVectorOf<XMLCh>*           const enums                                
                                  , const int                           finalSet);
  
      virtual ~Base64BinaryDatatypeValidator();
  
  	//@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //     Nil
      // -----------------------------------------------------------------------    
  
  };
  
  /**
    * End of file Base64BinaryDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/BooleanDatatypeValidator.hpp
  
  Index: BooleanDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: BooleanDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  #if !defined(BOOLEAN_DATATYPEVALIDATOR_HPP)
  #define BOOLEAN_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/DatatypeValidator.hpp>
  
  class VALIDATORS_EXPORT BooleanDatatypeValidator : public DatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      BooleanDatatypeValidator();
  
      BooleanDatatypeValidator(DatatypeValidator*            const baseValidator
                             , RefHashTableOf<KVStringPair>* const facets
                             , RefVectorOf<XMLCh>*           const enums
                             , const int                           finalSet);
  
      virtual ~BooleanDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
  
  
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                   , RefVectorOf<XMLCh>*           const enums
                                   , const int                           finalSet);
  
  private:
  
      void checkContent(const XMLCh* const content, bool asBase);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
  
  };
  
  // ---------------------------------------------------------------------------
  //  Constructors and Destructor
  // ---------------------------------------------------------------------------
  inline BooleanDatatypeValidator::BooleanDatatypeValidator()
  :DatatypeValidator(0, 0, 0, DatatypeValidator::Boolean)
  {
  }
  
  inline BooleanDatatypeValidator::~BooleanDatatypeValidator()
  {
  }
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
  
  // -----------------------------------------------------------------------
  // Compare methods
  // -----------------------------------------------------------------------
  
  inline DatatypeValidator* BooleanDatatypeValidator::newInstance(
                                      RefHashTableOf<KVStringPair>* const facets
                                      , RefVectorOf<XMLCh>*           const enums
                                      , const int                           finalSet)
  {
      return (DatatypeValidator*) new BooleanDatatypeValidator(this, facets, enums, finalSet);
  }
  
  inline void BooleanDatatypeValidator::validate( const XMLCh* const content)
  {
      checkContent(content, false);
  }
  
  /**
    * End of file BooleanDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DatatypeValidator.hpp
  
  Index: DatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  #if !defined(DATATYPEVALIDATOR_HPP)
  #define DATATYPEVALIDATOR_HPP
  
  #include <util/RefHashTableOf.hpp>
  #include <util/KVStringPair.hpp>
  #include <dom/DOMString.hpp>
  #include <util/regx/RegularExpression.hpp>
  
  /**
    * DataTypeValidator defines the interface that data type validators must
    * obey. These validators can be supplied by the application writer and may
    * be useful as standalone code as well as plugins to the validator
    * architecture.
    *
    * Notice:
    * The datatype validator will own the facets hashtable passed to it during
    * construction, which means that the datatype validator will be responsible
    * for the deletion. The facets hashtable will be created during parsing and
    * passed to the appropriate datatype validator which in turn will delete it
    * upon its destruction.
    *
    */
  
  
  class VALIDATORS_EXPORT DatatypeValidator
  {
  public:
      // -----------------------------------------------------------------------
      // Constant data
      // -----------------------------------------------------------------------
  	//facets
  	enum {
          FACET_LENGTH         = 1,
          FACET_MINLENGTH      = 1<<1,
          FACET_MAXLENGTH      = 1<<2,
          FACET_PATTERN        = 1<<3,
          FACET_ENUMERATION    = 1<<4,
          FACET_MAXINCLUSIVE   = 1<<5,
          FACET_MAXEXCLUSIVE   = 1<<6,
          FACET_MININCLUSIVE   = 1<<7,
          FACET_MINEXCLUSIVE   = 1<<8,
          FACET_TOTALDIGITS    = 1<<9,
          FACET_FRACTIONDIGITS = 1<<10,
          FACET_ENCODING       = 1<<11,
          FACET_DURATION       = 1<<12,
          FACET_PERIOD         = 1<<13,
          FACET_WHITESPACE     = 1<<14
      };
  
      //2.4.2.6 whiteSpace - Datatypes
  	enum {
          PRESERVE = 0,
          REPLACE  = 1,
          COLLAPSE = 2
      };
  
      enum ValidatorType {
          String,
          AnyURI,
          QName,
          Name,
          NCName,
          Boolean,
          Float,
          Double,
          Decimal,
          HexBinary,
          Base64Binary,
          Duration,
          DateTime,
          Date,
          Time,
          MonthDay,
          YearMonth,
          Year,
          Month,
          Day,
          ID,
          IDREF,
          ENTITY,
          NOTATION,
          List,
          Union,
          AnySimpleType
      };
  
      // -----------------------------------------------------------------------
      //  Public Destructor
      // -----------------------------------------------------------------------
  	/** @name Destructor. */
      //@{
  
      virtual ~DatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
  
      /**
        * Returns the final values of the simpleType
        */
      int getFinalSet() const;
  
      /**
        * Returns the datatype facet if any is set.
        */
  	RefHashTableOf<KVStringPair>* getFacets() const;
  
      /**
        * Returns default value (collapse) for whiteSpace facet.
        * This function is overwritten in StringDatatypeValidator.
        */
      virtual short getWSFacet () const;
  
      /**
        * Returns the base datatype validator if set.
        */
      DatatypeValidator* getBaseValidator() const;
  
      /**
        * Returns the 'class' type of datatype validator
        */
      ValidatorType getType() const;
  
      /**
        * Returns whether the type is atomic or not
        *
        * To be redefined in List/Union validators  
        */
      virtual bool isAtomic() const;
  
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
       /**
  	   * Checks that the "content" string is valid datatype.
         * If invalid, a Datatype validation exception is thrown.
  	   *
  	   * @param  content   A string containing the content to be validated
  	   *
  	   */
  	virtual void validate(const XMLCh* const content) = 0;
  
      /**
        * Checks whether a given type can be used as a substitute
        *
        * @param  toCheck    A datatype validator of the type to be used as a
        *                    substitute
        *
        * To be redefined in UnionDatatypeValidator
        */
  
      virtual bool isSubstitutableBy(const DatatypeValidator* const toCheck);
  
  	 //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
        * Compares content in the Domain value vs. lexical value.
        *
        * e.g. If type is a float then 1.0 may be equivalent to 1 even though
        * both are lexically different.
        *
        * @param  value1    string to compare
        *
        * @param  value2    string to compare
        *
        * We will provide a default behavior that should be redefined at the
        * children level, if necessary (i.e. boolean case).
        */
      virtual int compare(const XMLCh* const value1, const XMLCh* const value2);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
  	virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const,
                                             RefVectorOf<XMLCh>* const enums,
                                             const int finalSet) = 0;
  
  protected:
      // -----------------------------------------------------------------------
      //  Protected Constructors
      // -----------------------------------------------------------------------
      /** @name Constructors */
      //@{
  
      /**
        *
        * @param  baseValidator  The base datatype validator for derived
        *                        validators. Null if native validator.
        *
        * @param  facets         A hashtable of datatype facets (except enum).
        *
        * @param  finalSet       'final' value of the simpleType
        */
  
  	DatatypeValidator(DatatypeValidator* const baseValidator,
                        RefHashTableOf<KVStringPair>* const facets,
                        const int finalSet,
                        const ValidatorType type);
  
      //@}
  
  
  	friend class DatatypeValidatorFactory;
  
      /**
        * facetDefined
  	  */
  	int   getFacetsDefined() const;
      void  setFacetsDefined(int);
  
      /**
        * fixed
  	  */
  	int   getFixed() const;
      void  setFixed(int);
  
  
      /**
        * fPattern
  	  */
      const XMLCh* getPattern() const;
  	void         setPattern(const XMLCh* );
  
      /**
        * fRegex
  	  */
  	RegularExpression* getRegex() const;
  	void               setRegex(RegularExpression* const);
  
      /**
        * set fType
        */
      void setType(ValidatorType);
  
      /**
        * get WSString
        */
      const XMLCh*   getWSstring(const short WSType) const;
  
  private:
      // -----------------------------------------------------------------------
      //  CleanUp methods
      // -----------------------------------------------------------------------
  	void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fFinalSet
      //      stores "final" values of simpleTypes
      //
      //  fBaseValidator
      //      This is a pointer to a base datatype validator. If value is null,
  	//      it means we have a native datatype validator not a derived one.
  	//		
      //  fFacets
      //      This is a hashtable of dataype facets.
      //
      //  fType
      //      Stores the class type of datatype validator
      //
      //  fFacetsDefined
      //      Stores the constaiting facets flag
      //
      //  fPattern
      //      the pointer to the String of the pattern. The actual data is
      //      in the Facets.
      //
      //  fRegex
      //      pointer to the RegularExpress object
      //
      //
      //  fFixed
      //      if {fixed} is true, then types for which this type is the
      //      {base type definition} cannot specify a value for a specific
      //      facet.
      //
      // -----------------------------------------------------------------------
  
      int                           fFinalSet;
      int                           fFacetsDefined;
      int                           fFixed;
      ValidatorType                 fType;
  	DatatypeValidator*            fBaseValidator;
  	RefHashTableOf<KVStringPair>* fFacets;
      XMLCh*                        fPattern;
      RegularExpression*            fRegex;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidator: Getters
  // ---------------------------------------------------------------------------
  inline int DatatypeValidator::getFinalSet() const {
  
      return fFinalSet;
  }
  
  inline RefHashTableOf<KVStringPair>* DatatypeValidator::getFacets() const {
  
      return fFacets;
  }
  
  inline DatatypeValidator* DatatypeValidator::getBaseValidator() const {
  
  	return fBaseValidator;
  }
  
  inline short DatatypeValidator::getWSFacet() const {
  
      return COLLAPSE;
  }
  
  inline DatatypeValidator::ValidatorType DatatypeValidator::getType() const
  {
      return fType;
  }
  
  inline void DatatypeValidator::setType(ValidatorType theType)
  {
      fType = theType;
  }
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidator: CleanUp methods
  // ---------------------------------------------------------------------------
  inline void DatatypeValidator::cleanUp() {
  
  	delete fFacets;
      delete [] fPattern;
      delete fRegex;
  }
  
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidators: Compare methods
  // ---------------------------------------------------------------------------
  inline int DatatypeValidator::compare(const XMLCh* const lValue,
                                        const XMLCh* const rValue)
  {
      return XMLString::compareString(lValue, rValue);
  }
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidators: Validation methods
  // ---------------------------------------------------------------------------
  inline bool
  DatatypeValidator::isSubstitutableBy(const DatatypeValidator* const toCheck)
  {
      const DatatypeValidator* dv = toCheck;
  
  	while (dv != 0) {
  
          if (dv == this) {
              return true;
          }
  
          dv = dv->getBaseValidator();
      }
  
      return false;
  }
  
  inline int DatatypeValidator::getFacetsDefined() const
  {
      return fFacetsDefined;
  }
  
  inline void DatatypeValidator::setFacetsDefined(int facets)
  {
      fFacetsDefined |= facets;
  }
  
  inline int DatatypeValidator::getFixed() const
  {
      return fFixed;
  }
  
  inline void DatatypeValidator::setFixed(int fixed)
  {
      fFixed |= fixed;
  }
  
  inline const XMLCh* DatatypeValidator::getPattern() const
  {
      return fPattern;
  }
  
  inline void DatatypeValidator::setPattern(const XMLCh* pattern)
  {
      delete [] fPattern;
      fPattern = XMLString::replicate(pattern);
  }
  
  inline RegularExpression* DatatypeValidator::getRegex() const
  {
      return fRegex;
  }
  
  inline void DatatypeValidator::setRegex(RegularExpression* const regex)
  {
      fRegex = regex;
  }
  
  inline bool DatatypeValidator::isAtomic() const {
  
      return true;
  }
  
  #endif
  
  /**
    * End of file DatatypeValidator.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DatatypeValidatorFactory.hpp
  
  Index: DatatypeValidatorFactory.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DatatypeValidatorFactory.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  #if !defined(DATATYPEVALIDATORFACTORY_HPP)
  #define DATATYPEVALIDATORFACTORY_HPP
  
  /**
   * This class implements a factory of Datatype Validators. Internally the
   * DatatypeValidators are kept in a registry.
   * There is one instance of DatatypeValidatorFactory per Parser.
   * There is one datatype Registry per instance of DatatypeValidatorFactory,
   * such registry is first allocated with the number DatatypeValidators needed.
   * e.g.
   * If Parser finds an XML document with a DTD, a registry of DTD validators (only
   * 9 validators) get initialized in the registry.
   * The initialization process consist of instantiating the Datatype and
   * facets and registering the Datatype into registry table.
   * This implementation uses a Hahtable as a registry. The datatype validators created
   * by the factory will be deleted by the registry.
   * 
   * As the Parser parses an instance document it knows if validation needs
   * to be checked. If no validation is necesary we should not instantiate a
   * DatatypeValidatorFactory.
   * If validation is needed, we need to instantiate a DatatypeValidatorFactory.
   */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <validators/datatype/DatatypeValidator.hpp>
  #include <util/RefVectorOf.hpp>
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidatorFactory: Local declaration
  // ---------------------------------------------------------------------------
  typedef RefHashTableOf<KVStringPair> KVStringPairHashTable;
  typedef RefHashTableOf<DatatypeValidator> DVHashTable;
  typedef RefVectorOf<XMLCh> XMLChRefVector;
  
  
  class VALIDATORS_EXPORT DatatypeValidatorFactory
  {
  public:
  
  	// -----------------------------------------------------------------------
      //  Public Constructors and Destructor
      // -----------------------------------------------------------------------
      /** @name Constructors */
      //@{
  
      DatatypeValidatorFactory();
  
  	//@}
  
  	/** @name Destructor. */
      //@{
  
      ~DatatypeValidatorFactory();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
  
      /**
        * Returns the datatype validator
  	  *
  	  * @param  dvType   Datatype validator name/type
  	  */
  	DatatypeValidator* getDatatypeValidator(const XMLCh* const dvType) const;
  
      //@}
  
      // -----------------------------------------------------------------------
      // Registry Initialization methods
      // -----------------------------------------------------------------------
      /** @name Registry Initialization Functions */
      //@{
  
      /**
  	  * Initializes registry with primitive and derived Simple types.
        * 
        * This method does not clear the registry to clear the registry you 
  	  * have to call resetRegistry.
        * 
        * The net effect of this method is to start with a the smallest set of 
  	  * datatypes needed by the validator.
  	  *
  	  * If we start with DTD's, then we initialize the table to only 
  	  * the 9 validators needed by DTD Validation.
  	  */
  	void initializeDTDRegistry();
  
  	/**
  	  * Initializes registry with primitive and derived Simple types.
        * 
        * This method does not clear the registry to clear the registry you 
  	  * have to call resetRegistry.
        * 
        * The net effect of this method is to start with a the smallest set of 
  	  * datatypes needed by the validator.
  	  *
        * If we start with Schema's then we initialize to to full set of 
  	  * validators.	  
  	  */
  	void expandRegistryToFullSchemaSet();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validator Factory methods
      // -----------------------------------------------------------------------
      /** @name Validator Factory Functions */
      //@{
  
      /** 
        * Creates a new datatype validator of type baseValidator's class and
        * adds it to the registry
        *
        * @param  typeName       Datatype validator name
        *
        * @param  baseValidator  Base datatype validator
        *
        * @param  facets         datatype facets if any
        *
        * @param  enums          vector of values for enum facet
        *
        * @param  derivedByList  Indicates whether the datatype is derived by
  	  *                        list or not
        *
        * @param  finalSet       'final' values of the simpleType
  	  */
  	DatatypeValidator* createDatatypeValidator(const XMLCh* const,
  		                                       DatatypeValidator* const,
                                                 RefHashTableOf<KVStringPair>* const,
                                                 RefVectorOf<XMLCh>* const enums,
                                                 const bool,
                                                 const int = 0,
                                                 const bool = true);
  
      /** 
        * Creates a new datatype validator of type UnionDatatypeValidator and
        * adds it to the registry
        *
        * @param  typeName       Datatype validator name
        *
        * @param  validators     Vector of datatype validators
        *
        */
      DatatypeValidator* createDatatypeValidator(const XMLCh* const,
                                                 RefVectorOf<DatatypeValidator>* const,
                                                 const int finalSet,
                                                 const bool = true);
  
  	//@}
  
      /**
        * Reset datatype validator registry
        */
  	void resetRegistry();
  
  	// -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitRegistry();
  
  private:
      // -----------------------------------------------------------------------
      //  CleanUp methods
      // -----------------------------------------------------------------------
  	void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fRegistryExpanded
      //      Indicated whether we have expanded the registry or not.
  	//		
      //  fUserDefinedRegistry
      //      This is a hashtable of user defined dataype validators.
      //
      //  fBuiltInRegistry
      //      This is a hashtable of built-in primitive datatype validators.
      // -----------------------------------------------------------------------
      RefHashTableOf<DatatypeValidator>*        fUserDefinedRegistry;
  	static int                                fRegistryExpanded;
  	static RefHashTableOf<DatatypeValidator>* fBuiltInRegistry;
  };
  
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidatorFactory: Getters
  // ---------------------------------------------------------------------------
  inline DatatypeValidator* 
  DatatypeValidatorFactory::getDatatypeValidator(const XMLCh* const dvType) const
  {
  	if (dvType) {
  
          if (fBuiltInRegistry && fBuiltInRegistry->containsKey(dvType)) {
  		    return fBuiltInRegistry->get(dvType);
          }
  
          if (fUserDefinedRegistry && fUserDefinedRegistry->containsKey(dvType)) {
  		    return fUserDefinedRegistry->get(dvType);
          }
      }
  
  	return 0;
  }
  
  // ---------------------------------------------------------------------------
  //  DatatypeValidator: CleanUp methods
  // ---------------------------------------------------------------------------
  inline void DatatypeValidatorFactory::cleanUp() {
  
  	delete fUserDefinedRegistry;
  }
  
  #endif
  
  /**
    * End of file DatatypeValidatorFactory.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DecimalDatatypeValidator.hpp
  
  Index: DecimalDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DecimalDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: DecimalDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/10/09 20:52:43  peiyongz
   * init():removed
   *
   * Revision 1.8  2001/10/01 21:04:40  peiyongz
   * DTV Reorganization:fix to memory leak in compare() method.
   *
   * Revision 1.7  2001/10/01 16:16:38  peiyongz
   * DTV Reorganization:derived from AbstractNumericValidator
   *
   */
  
  #if !defined(DECIMAL_DATATYPEVALIDATOR_HPP)
  #define DECIMAL_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractNumericValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLBigDecimal.hpp>
  
  class VALIDATORS_EXPORT DecimalDatatypeValidator : public AbstractNumericValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      DecimalDatatypeValidator();
  
      DecimalDatatypeValidator(DatatypeValidator*            const baseValidator
                             , RefHashTableOf<KVStringPair>* const facets
                             , RefVectorOf<XMLCh>*           const enums
                             , const int                           finalSet);
  
      virtual ~DecimalDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
  // -----------------------------------------------------------------------
  // ctor provided to be used by derived classes
  // -----------------------------------------------------------------------
      DecimalDatatypeValidator(DatatypeValidator*            const baseValidator
                             , RefHashTableOf<KVStringPair>* const facets
                             , const int                           finalSet
                             , const ValidatorType                 type);
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericFacetValidator
  // -----------------------------------------------------------------------
      
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacetConstraintsBase() const;
  
      virtual int  compareValues(const XMLNumber* const lValue
                               , const XMLNumber* const rValue);
  
      virtual void  setMaxInclusive(const XMLCh* const);
  
      virtual void  setMaxExclusive(const XMLCh* const);
  
      virtual void  setMinInclusive(const XMLCh* const);
  
      virtual void  setMinExclusive(const XMLCh* const);
  
      virtual void  setEnumeration();
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericValidator
  // -----------------------------------------------------------------------
  
      virtual void checkContent( const XMLCh* const content, bool asBase);
  
  private:
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
      inline unsigned int                    getTotalDigits() const;
  
      inline unsigned int                    getFractionDigits() const;
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
      inline void  setTotalDigits(unsigned int);
  
      inline void  setFractionDigits(unsigned int);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
  	 unsigned int         fTotalDigits;
  	 unsigned int         fFractionDigits;
  
  };
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
  unsigned int DecimalDatatypeValidator::getTotalDigits() const
  {
      return fTotalDigits;
  }
  
  unsigned int DecimalDatatypeValidator::getFractionDigits() const
  {
      return fFractionDigits;
  }
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
  void DecimalDatatypeValidator::setTotalDigits(unsigned int newTotalDigits)
  {
      fTotalDigits = newTotalDigits;
  }
  
  void DecimalDatatypeValidator::setFractionDigits(unsigned int newFractionDigits)
  {
      fFractionDigits = newFractionDigits;
  }
  
  /**
    * End of file DecimalDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/DoubleDatatypeValidator.hpp
  
  Index: DoubleDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: DoubleDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: DoubleDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/10/09 20:52:43  peiyongz
   * init():removed
   *
   * Revision 1.4  2001/10/01 21:03:55  peiyongz
   * DTV Reorganization:derived from AbstractNumericValidator
   *
   * Revision 1.3  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.2  2001/08/21 18:42:53  peiyongz
   * Bugzilla# 2816: cleanUp() declared with external linkage and called
   *                          before defined as inline
   *
   * Revision 1.1  2001/07/24 13:59:03  peiyongz
   * DoubleDTV
   *
   */
  
  #if !defined(DOUBLE_DATATYPEVALIDATOR_HPP)
  #define DOUBLE_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractNumericValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLDouble.hpp>
  
  class VALIDATORS_EXPORT DoubleDatatypeValidator : public AbstractNumericValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      DoubleDatatypeValidator();
  
      DoubleDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , RefVectorOf<XMLCh>*           const enums
                            , const int                           finalSet);
  
      virtual ~DoubleDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
  // -----------------------------------------------------------------------
  // ctor provided to be used by derived classes
  // -----------------------------------------------------------------------
      DoubleDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , const int                           finalSet
                            , const ValidatorType                 type);
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericFacetValidator
  // -----------------------------------------------------------------------
      
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacetConstraintsBase() const;
  
      virtual int  compareValues(const XMLNumber* const lValue
                               , const XMLNumber* const rValue);
  
      virtual void  setMaxInclusive(const XMLCh* const);
  
      virtual void  setMaxExclusive(const XMLCh* const);
  
      virtual void  setMinInclusive(const XMLCh* const);
  
      virtual void  setMinExclusive(const XMLCh* const);
  
      virtual void  setEnumeration();
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericValidator
  // -----------------------------------------------------------------------
  
      virtual void checkContent( const XMLCh* const content, bool asBase);
  
  };
  
  /**
    * End of file DoubleDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/ENTITYDatatypeValidator.hpp
  
  Index: ENTITYDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ENTITYDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: ENTITYDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/10/09 20:50:27  peiyongz
   * init(): take 1 arg
   *
   * Revision 1.5  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.4  2001/09/24 21:39:29  peiyongz
   * DTV Reorganization: checkValueSpace()
   *
   * Revision 1.3  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.2  2001/07/24 21:23:40  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.1  2001/07/06 20:19:52  peiyongz
   * ENTITYDTV
   *
   */
  
  #if !defined(ENTITY_DATATYPEVALIDATOR_HPP)
  #define ENTITY_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/StringDatatypeValidator.hpp>
  #include <internal/XMLScanner.hpp>
  
  class VALIDATORS_EXPORT ENTITYDatatypeValidator : public StringDatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      ENTITYDatatypeValidator();
  
      ENTITYDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , RefVectorOf<XMLCh>*           const enums
                            , const int                           finalSet);
  
      virtual ~ENTITYDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
      /** @name Setter Functions */
      //@{
  
      inline void    setEntityDeclPool(NameIdPool<DTDEntityDecl>* const entityDeclPool);
  
      //@}
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      ENTITYDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , const int                           finalSet
                            , const ValidatorType                 type);
  
      virtual void checkValueSpace(const XMLCh* const content);
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEntityDeclPool
      //     we do NOT own it.
  	//		
      // -----------------------------------------------------------------------
  
      NameIdPool<DTDEntityDecl>*     fEntityDeclPool;
  };
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  void ENTITYDatatypeValidator::setEntityDeclPool(NameIdPool<DTDEntityDecl>* const entityDeclPool)
  {
      fEntityDeclPool = entityDeclPool;
  }
  
  /**
    * End of file ENTITYDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/FloatDatatypeValidator.hpp
  
  Index: FloatDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: FloatDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: FloatDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/10/09 20:52:43  peiyongz
   * init():removed
   *
   * Revision 1.4  2001/10/01 21:03:55  peiyongz
   * DTV Reorganization:derived from AbstractNumericValidator
   *
   * Revision 1.3  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.2  2001/08/21 18:42:53  peiyongz
   * Bugzilla# 2816: cleanUp() declared with external linkage and called
   *                          before defined as inline
   *
   * Revision 1.1  2001/07/26 20:42:16  peiyongz
   * FloatDatatypeValidator
   *
   *
   */
  
  #if !defined(FLOAT_DATATYPEVALIDATOR_HPP)
  #define FLOAT_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractNumericValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/XMLFloat.hpp>
  
  class VALIDATORS_EXPORT FloatDatatypeValidator : public AbstractNumericValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      FloatDatatypeValidator();
  
      FloatDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets
                           , RefVectorOf<XMLCh>*           const enums
                           , const int                           finalSet);
  
      virtual ~FloatDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
  // -----------------------------------------------------------------------
  // ctor provided to be used by derived classes
  // -----------------------------------------------------------------------
      FloatDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets
                           , const int                           finalSet
                           , const ValidatorType                 type);
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericFacetValidator
  // -----------------------------------------------------------------------
      
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacetConstraintsBase() const;
  
      virtual int  compareValues(const XMLNumber* const lValue
                               , const XMLNumber* const rValue);
  
      virtual void  setMaxInclusive(const XMLCh* const);
  
      virtual void  setMaxExclusive(const XMLCh* const);
  
      virtual void  setMinInclusive(const XMLCh* const);
  
      virtual void  setMinExclusive(const XMLCh* const);
  
      virtual void  setEnumeration();
  
  // -----------------------------------------------------------------------
  // Abstract interface from AbstractNumericValidator
  // -----------------------------------------------------------------------
  
      virtual void checkContent( const XMLCh* const content, bool asBase);
  
  };
  
  /**
    * End of file FloatDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/HexBinaryDatatypeValidator.hpp
  
  Index: HexBinaryDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: HexBinaryDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: HexBinaryDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/09/24 15:33:15  peiyongz
   * DTV Reorganization: virtual methods moved to *.cpp
   *
   * Revision 1.5  2001/09/19 20:35:23  peiyongz
   * DTV reorganization: inherit from AbstractStringVaildator
   *
   */
  
  #if !defined(HEXBINARY_DATATYPEVALIDATOR_HPP)
  #define HEXBINARY_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  
  class VALIDATORS_EXPORT HexBinaryDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      HexBinaryDatatypeValidator();
  
      HexBinaryDatatypeValidator(DatatypeValidator*            const baseValidator
                               , RefHashTableOf<KVStringPair>* const facets    
                               , RefVectorOf<XMLCh>*           const enums                             
                               , const int                           finalSet);
  
      virtual ~HexBinaryDatatypeValidator();
  
  	//@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  
  protected:
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//		Nil.
      // -----------------------------------------------------------------------    
  };
  
  /**
    * End of file HexBinaryDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/IDDatatypeValidator.hpp
  
  Index: IDDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: IDDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/10/09 20:50:02  peiyongz
   * init(): take 1 arg
   *
   * Revision 1.6  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.5  2001/09/25 14:23:42  peiyongz
   * DTV Reorganization: checkValueSpace()
   *
   * Revision 1.4  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.3  2001/07/25 17:58:08  tng
   * Fix compilation errors.
   *
   * Revision 1.2  2001/07/24 21:23:40  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.1  2001/07/04 14:38:25  peiyongz
   * IDDatatypeValidator: created
   * DatatypeValidatorFactory: IDDTV enabled
   * XMLString:isValidName(): to validate Name (XML [4][5])
   *
   */
  
  #if !defined(ID_DATATYPEVALIDATOR_HPP)
  #define ID_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/StringDatatypeValidator.hpp>
  #include <validators/schema/SchemaSymbols.hpp>
  #include <framework/XMLRefInfo.hpp>
  
  class VALIDATORS_EXPORT IDDatatypeValidator : public StringDatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      IDDatatypeValidator();
  
      IDDatatypeValidator(DatatypeValidator*            const baseValidator
                        , RefHashTableOf<KVStringPair>* const facets
                        , RefVectorOf<XMLCh>*           const enums
                        , const int                           finalSet);
  
      virtual ~IDDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
      //@}
  
  	inline void setIDRefList(RefHashTableOf<XMLRefInfo>* fIDRefList);
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      IDDatatypeValidator(DatatypeValidator*            const baseValidator
                        , RefHashTableOf<KVStringPair>* const facets
                        , const int                           finalSet
                        , const ValidatorType                 type);
  
      virtual void checkValueSpace(const XMLCh* const content);
  
  private:
  
      void addId(const XMLCh* const);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fIDRefList
      //      we do not own it.
      //
      // -----------------------------------------------------------------------
      RefHashTableOf<XMLRefInfo>* fIDRefList;
  };
  
  void IDDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* newIDRefList)
  {
      fIDRefList = newIDRefList;
  }
  
  /**
    * End of file IDDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/IDREFDatatypeValidator.hpp
  
  Index: IDREFDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: IDREFDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: IDREFDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/10/09 20:49:38  peiyongz
   * init(): take 1 arg
   *
   * Revision 1.6  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.5  2001/09/25 14:23:42  peiyongz
   * DTV Reorganization: checkValueSpace()
   *
   * Revision 1.4  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.3  2001/07/25 17:58:08  tng
   * Fix compilation errors.
   *
   * Revision 1.2  2001/07/24 21:23:40  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.1  2001/07/04 20:16:59  peiyongz
   * IDREFDatatypeValidator
   *
   */
  
  #if !defined(IDREF_DATATYPEVALIDATOR_HPP)
  #define IDREF_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/StringDatatypeValidator.hpp>
  #include <framework/XMLRefInfo.hpp>
  
  class VALIDATORS_EXPORT IDREFDatatypeValidator : public StringDatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      IDREFDatatypeValidator();
  
      IDREFDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets
                           , RefVectorOf<XMLCh>*           const enums
                           , const int                           finalSet);
  
      virtual ~IDREFDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
      inline void setIDRefList(RefHashTableOf<XMLRefInfo>* fIDRefList);
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      IDREFDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets
                           , const int                           finalSet
                           , const ValidatorType                 type);
  
      virtual void checkValueSpace(const XMLCh* const content);
  
  private:
  
      void addIdRef(const XMLCh* const content);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fIDRefList
      //      we do not own it.
      //
      // -----------------------------------------------------------------------
      RefHashTableOf<XMLRefInfo>* fIDRefList;
  
  };
  
  // -----------------------------------------------------------------------
  // Validation methods
  // -----------------------------------------------------------------------
  void IDREFDatatypeValidator::setIDRefList(RefHashTableOf<XMLRefInfo>* newIDRefList)
  {
      fIDRefList = newIDRefList;
  }
  
  /**
    * End of file IDREFDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/InvalidDatatypeFacetException.hpp
  
  Index: InvalidDatatypeFacetException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: InvalidDatatypeFacetException.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  
  #if !defined(INVALIDDATATYPEFACETEXCEPTION_HPP)
  #define INVALIDDATATYPEFACETEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(InvalidDatatypeFacetException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/InvalidDatatypeValueException.hpp
  
  Index: InvalidDatatypeValueException.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: InvalidDatatypeValueException.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   */
  
  
  #if !defined(INVALIDDATATYPEVALUEEXCEPTION_HPP)
  #define INVALIDDATATYPEVALUEEXCEPTION_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/XMLException.hpp>
  
  
  MakeXMLException(InvalidDatatypeValueException, XMLUTIL_EXPORT)
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/ListDatatypeValidator.hpp
  
  Index: ListDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ListDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: ListDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/10/11 19:32:27  peiyongz
   * To overwrite inheritFacet()
   *
   * Revision 1.8  2001/10/09 20:56:21  peiyongz
   * inherit from AbstractStringValidator instead of DatatypeValidator to reuse
   * the code.
   *
   * Revision 1.7  2001/08/29 19:03:40  peiyongz
   * Bugzilla# 2816:on AIX 4.2, xlC 3 r ev.1, Compilation error on inline method
   *
   * Revision 1.6  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.5  2001/08/21 20:05:41  peiyongz
   * put back changes introduced in 1.3
   *
   * Revision 1.3  2001/08/16 14:41:38  knoaman
   * implementation of virtual methods.
   *
   * Revision 1.2  2001/07/24 21:23:40  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.1  2001/07/11 21:37:17  peiyongz
   * ListDatatypeDTV
   *
   */
  
  #if !defined(LIST_DATATYPEVALIDATOR_HPP)
  #define LIST_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  #include <validators/schema/SchemaSymbols.hpp>
  
  class VALIDATORS_EXPORT ListDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      ListDatatypeValidator();
  
      ListDatatypeValidator(DatatypeValidator*            const baseValidator
                          , RefHashTableOf<KVStringPair>* const facets
                          , RefVectorOf<XMLCh>*           const enums
                          , const int                           finalSet);
  
      virtual ~ListDatatypeValidator();
  
  	//@}
  
      /** @name Getter Functions */
      //@{
      /**
        * Returns whether the type is atomic or not
        */
      virtual bool isAtomic() const;
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
      DatatypeValidator* getItemTypeDTV() const;
  
  protected:
  
      //
      // ctor provided to be used by derived classes: No
      //
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
      // 
      // Overwrite AbstractStringValidator's 
      //
      virtual void inspectFacetBase();
  
      virtual void inheritFacet();
  
  private:
  
      void checkContent(const XMLCh* const content, bool asBase);
  
      void checkContent(RefVectorOf<XMLCh>* tokenVector, bool asBase);
  
      bool valueSpaceCheck(RefVectorOf<XMLCh>* tokenVector
                         , const XMLCh* const  enumStr) const;
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  
      inline const XMLCh* const   getContent() const;
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  
      inline void                 setContent(const XMLCh* const content);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fContent
      //      temporary var referenceing the content to be validated,
      //      for error reporting purpose.
      //
      // -----------------------------------------------------------------------
       const XMLCh*         fContent;
  };
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  const XMLCh* const ListDatatypeValidator::getContent() const
  {
      return fContent;
  }
  
  // -----------------------------------------------------------------------
  // Setter methods
  // -----------------------------------------------------------------------
  void ListDatatypeValidator::setContent(const XMLCh* const content)
  {
      fContent = content;
  }
  
  /**
    * End of file ListDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NCNameDatatypeValidator.hpp
  
  Index: NCNameDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NCNameDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: NCNameDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/10/09 20:49:09  peiyongz
   * init(): take 1 arg
   *
   * Revision 1.2  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.1  2001/09/25 15:58:45  peiyongz
   * DTV Reorganization: new class
   *
   */
  
  #if !defined(NCNAME_DATATYPEVALIDATOR_HPP)
  #define NCNAME_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/StringDatatypeValidator.hpp>
  
  class VALIDATORS_EXPORT NCNameDatatypeValidator : public StringDatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      NCNameDatatypeValidator();
  
      NCNameDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , RefVectorOf<XMLCh>*           const enums
                            , const int                           finalSet);
  
      virtual ~NCNameDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      NCNameDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , const int                           finalSet
                            , const ValidatorType                 type);
  
      virtual void checkValueSpace(const XMLCh* const content);
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//		
      // -----------------------------------------------------------------------
  
  };
  
  /**
    * End of file NCNameDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NOTATIONDatatypeValidator.hpp
  
  Index: NOTATIONDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NOTATIONDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: NOTATIONDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/09/24 15:33:15  peiyongz
   * DTV Reorganization: virtual methods moved to *.cpp
   *
   * Revision 1.4  2001/09/20 15:14:47  peiyongz
   * DTV reorganization: inherit from AbstractStringVaildator
   *
   * Revision 1.3  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.2  2001/08/21 18:42:53  peiyongz
   * Bugzilla# 2816: cleanUp() declared with external linkage and called
   *                          before defined as inline
   *
   * Revision 1.1  2001/07/05 20:15:27  peiyongz
   * NOTATIONDatatypeValidator
   *
   */
  
  #if !defined(NOTATION_DATATYPEVALIDATOR_HPP)
  #define NOTATION_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  
  class VALIDATORS_EXPORT NOTATIONDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      NOTATIONDatatypeValidator();
  
      NOTATIONDatatypeValidator(DatatypeValidator*            const baseValidator
                              , RefHashTableOf<KVStringPair>* const facets    
                              , RefVectorOf<XMLCh>*           const enums                                
                              , const int                           finalSet);
  
      virtual ~NOTATIONDatatypeValidator();
  
  	//@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//		Nil
      // -----------------------------------------------------------------------    
  
  };
  
  /**
    * End of file NOTATIONDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/NameDatatypeValidator.hpp
  
  Index: NameDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NameDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: NameDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.3  2001/10/09 20:48:39  peiyongz
   * init(): take 1 arg
   *
   * Revision 1.2  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.1  2001/09/25 15:58:45  peiyongz
   * DTV Reorganization: new class
   *
   */
  
  #if !defined(NAME_DATATYPEVALIDATOR_HPP)
  #define NAME_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/StringDatatypeValidator.hpp>
  
  class VALIDATORS_EXPORT NameDatatypeValidator : public StringDatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      NameDatatypeValidator();
  
      NameDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , RefVectorOf<XMLCh>*           const enums
                            , const int                           finalSet);
  
      virtual ~NameDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	virtual void validate(const XMLCh* const content);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      virtual int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      NameDatatypeValidator(DatatypeValidator*            const baseValidator
                          , RefHashTableOf<KVStringPair>* const facets
                          , const int                           finalSet
                          , const ValidatorType                 type);
  
      virtual void checkValueSpace(const XMLCh* const content);
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//		
      // -----------------------------------------------------------------------
  
  };
  
  /**
    * End of file NameDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/QNameDatatypeValidator.hpp
  
  Index: QNameDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   * 
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:  
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   * 
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written 
   *    permission, please contact apache\@apache.org.
   * 
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 1999, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: QNameDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: QNameDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.5  2001/09/24 15:33:15  peiyongz
   * DTV Reorganization: virtual methods moved to *.cpp
   *
   * Revision 1.4  2001/09/20 15:36:49  peiyongz
   * DTV reorganization: inherit from AbstractStringVaildator
   *
   * Revision 1.3  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.2  2001/08/21 18:42:53  peiyongz
   * Bugzilla# 2816: cleanUp() declared with external linkage and called
   *                          before defined as inline
   *
   * Revision 1.1  2001/07/06 20:20:15  peiyongz
   * QNameDTV
   *
   */
  
  #if !defined(QNAME_DATATYPEVALIDATOR_HPP)
  #define QNAME_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  
  class VALIDATORS_EXPORT QNameDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      QNameDatatypeValidator();
  
      QNameDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets 
                           , RefVectorOf<XMLCh>*           const enums                          
                           , const int                           finalSet);
  
      virtual ~QNameDatatypeValidator();
  
  	//@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  protected:
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
  	//		Nil
      // -----------------------------------------------------------------------    
  
  };
  
  /**
    * End of file QNameDatatypeValidator.hpp
    */
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/StringDatatypeValidator.hpp
  
  Index: StringDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: StringDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: StringDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.9  2001/10/09 20:54:48  peiyongz
   * init(): removed
   *
   * Revision 1.8  2001/09/27 13:51:25  peiyongz
   * DTV Reorganization: ctor/init created to be used by derived class
   *
   * Revision 1.7  2001/09/24 21:39:12  peiyongz
   * DTV Reorganization:
   *
   * Revision 1.6  2001/09/24 15:31:13  peiyongz
   * DTV Reorganization: inherit from AbstractStringValidator
   *
   */
  
  #if !defined(STRING_DATATYPEVALIDATOR_HPP)
  #define STRING_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/AbstractStringValidator.hpp>
  
  class VALIDATORS_EXPORT StringDatatypeValidator : public AbstractStringValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      StringDatatypeValidator();
  
      StringDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , RefVectorOf<XMLCh>*           const enums
                            , const int                           finalSet);
  
      virtual ~StringDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
  
      virtual short getWSFacet() const;
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      virtual DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                           , RefVectorOf<XMLCh>*           const enums
                                           , const int                           finalSet);
  
  protected:
  
      //
      // ctor provided to be used by derived classes
      //
      StringDatatypeValidator(DatatypeValidator*            const baseValidator
                            , RefHashTableOf<KVStringPair>* const facets
                            , const int                           finalSet
                            , const ValidatorType                 type);
  
      virtual void assignAdditionalFacet(const XMLCh* const key
                                       , const XMLCh* const value);
  
      virtual void inheritAdditionalFacet();
  
      virtual void checkAdditionalFacetConstraints() const;
  
      virtual void checkAdditionalFacet(const XMLCh* const content) const;
  
      virtual void checkValueSpace(const XMLCh* const content);
  
      virtual int  getLength(const XMLCh* const content) const;
  
  private:
  
      inline void setWhiteSpace(short);
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
       short                fWhiteSpace;         //DatatypeValidator::PRESERVE
  
  };
  
  // -----------------------------------------------------------------------
  // Getter methods
  // -----------------------------------------------------------------------
  void StringDatatypeValidator::setWhiteSpace(short newValue)
  {
      fWhiteSpace = newValue;
  }
  
  /**
    * End of file StringDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/datatype/UnionDatatypeValidator.hpp
  
  Index: UnionDatatypeValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: UnionDatatypeValidator.hpp,v 1.1 2002/03/22 00:42:04 sanjiva Exp $
   * $Log: UnionDatatypeValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:04  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.8  2001/09/05 20:49:10  knoaman
   * Fix for complexTypes with mixed content model.
   *
   * Revision 1.7  2001/08/31 16:53:41  knoaman
   * Misc. fixes.
   *
   * Revision 1.6  2001/08/24 17:12:01  knoaman
   * Add support for anySimpleType.
   * Remove parameter 'baseValidator' from the virtual method 'newInstance'.
   *
   * Revision 1.5  2001/08/21 20:05:41  peiyongz
   * put back changes introduced in 1.3
   *
   * Revision 1.3  2001/08/16 14:41:38  knoaman
   * implementation of virtual methods.
   *
   * Revision 1.2  2001/07/24 21:23:40  tng
   * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
   *
   * Revision 1.1  2001/07/13 14:10:40  peiyongz
   * UnionDTV
   *
   */
  
  #if !defined(UNION_DATATYPEVALIDATOR_HPP)
  #define UNION_DATATYPEVALIDATOR_HPP
  
  #include <validators/datatype/DatatypeValidator.hpp>
  #include <validators/schema/SchemaSymbols.hpp>
  
  class VALIDATORS_EXPORT UnionDatatypeValidator : public DatatypeValidator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public ctor/dtor
      // -----------------------------------------------------------------------
  	/** @name Constructor. */
      //@{
  
      UnionDatatypeValidator();
  
      //
      // constructor for native Union datatype validator
      // <simpleType name="nativeUnion">
      //      <union   memberTypes="member1 member2 ...">
      // </simpleType>
      //
      UnionDatatypeValidator(RefVectorOf<DatatypeValidator>* const memberTypeValidators
                           , const int                             finalSet);
  
      //
      // constructor for derived Union datatype validator
      // <simpleType name="derivedUnion">
      //      <restriction base="nativeUnion">
      //          <pattern     value="patter_value"/>
      //          <enumeartion value="enum_value"/>
      //      </restriction>
      // </simpleType>
      //
      UnionDatatypeValidator(DatatypeValidator*            const baseValidator
                           , RefHashTableOf<KVStringPair>* const facets
                           , RefVectorOf<XMLCh>*           const enums
                           , const int                           finalSet);
  
      virtual ~UnionDatatypeValidator();
  
  	//@}
  
      // -----------------------------------------------------------------------
      // Getter methods
      // -----------------------------------------------------------------------
      /** @name Getter Functions */
      //@{
      /**
        * Returns whether the type is atomic or not
        */
      virtual bool isAtomic() const;
  
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
       * validate that a string matches the boolean datatype
       * @param content A string containing the content to be validated
       *
       * @exception throws InvalidDatatypeException if the content is
       * is not valid.
       */
  
  	void validate(const XMLCh* const content);
  
      /**
        * Checks whether a given type can be used as a substitute
        *
        * @param  toCheck    A datatype validator of the type to be used as a
        *                    substitute
        *
        * To be redefined in UnionDatatypeValidator
        */
  
      virtual bool isSubstitutableBy(const DatatypeValidator* const toCheck);
  
      //@}
  
      // -----------------------------------------------------------------------
      // Compare methods
      // -----------------------------------------------------------------------
      /** @name Compare Function */
      //@{
  
      /**
       * Compare two boolean data types
       *
       * @param content1
       * @param content2
       * @return
       */
      int compare(const XMLCh* const, const XMLCh* const);
  
      //@}
  
      /**
        * Returns an instance of the base datatype validator class
  	  * Used by the DatatypeValidatorFactory.
        */
      DatatypeValidator* newInstance(RefHashTableOf<KVStringPair>* const facets
                                   , RefVectorOf<XMLCh>*           const enums
                                   , const int                           finalSet);
  
      RefVectorOf<DatatypeValidator>* getMemberTypeValidators() const;
  
  private:
  
      void checkContent(const XMLCh* const content, bool asBase);
  
      void init(DatatypeValidator*            const baseValidator
              , RefHashTableOf<KVStringPair>* const facets
              , RefVectorOf<XMLCh>*           const enums);
  
      void cleanUp();
  
      RefVectorOf<XMLCh>*  getEnumeration() const;
  
      void                 setEnumeration(RefVectorOf<XMLCh>*, bool);
  
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEnumeration
      //      we own it.
      //
      //  fMemberTypeValidators
      //      we own it.
      //
      // -----------------------------------------------------------------------
       bool                 fEnumerationInherited;
       RefVectorOf<XMLCh>*  fEnumeration;
       RefVectorOf<DatatypeValidator>*  fMemberTypeValidators;
  };
  
  inline DatatypeValidator* UnionDatatypeValidator::newInstance(
                                        RefHashTableOf<KVStringPair>* const facets
                                      , RefVectorOf<XMLCh>*           const enums
                                      , const int                           finalSet)
  {
      return (DatatypeValidator*) new UnionDatatypeValidator(this, facets, enums, finalSet);
  }
  
  inline void UnionDatatypeValidator::validate( const XMLCh* const content)
  {
      checkContent(content, false);
  }
  
  inline void UnionDatatypeValidator::cleanUp()
  {
      //~RefVectorOf will delete all adopted elements
      if (fEnumeration && !fEnumerationInherited)
          delete fEnumeration;
  
      if (fMemberTypeValidators)
          delete fMemberTypeValidators;
  }
  
  inline RefVectorOf<XMLCh>* UnionDatatypeValidator:: getEnumeration() const
  {
      return fEnumeration;
  }
  
  inline void UnionDatatypeValidator::setEnumeration(RefVectorOf<XMLCh>* enums
                                                   , bool                inherited)
  {
      if (enums)
      {
          if (fEnumeration && !fEnumerationInherited)
              delete fEnumeration;
  
          fEnumeration = enums;
          fEnumerationInherited = inherited;
          setFacetsDefined(DatatypeValidator::FACET_ENUMERATION);
      }
  }
  
  //
  // get the native UnionDTV's fMemberTypeValidators
  //
  inline
  RefVectorOf<DatatypeValidator>* UnionDatatypeValidator::getMemberTypeValidators() const
  {
      UnionDatatypeValidator* thisdv = (UnionDatatypeValidator*)this; // cast away constness
  
      while (thisdv->getBaseValidator())
          thisdv = (UnionDatatypeValidator*) thisdv->getBaseValidator();
  
      return thisdv->fMemberTypeValidators;
  }
  
  inline bool UnionDatatypeValidator::isAtomic() const {
  
  
      RefVectorOf<DatatypeValidator>* memberDVs = getMemberTypeValidators();
  
      if (!memberDVs) {
          return false;
      }
  
      unsigned int memberSize = memberDVs->size();
  
      for (unsigned int i=0; i < memberSize; i++) {
          if (!memberDVs->elementAt(i)->isAtomic()) {
              return false;
          }
      }
  
      return true;
  }
  
  inline bool UnionDatatypeValidator::isSubstitutableBy(const DatatypeValidator* const toCheck) {
  
      if (toCheck == this) {
          return true;
      }
  
      unsigned int memberSize = fMemberTypeValidators->size();
  
      for (unsigned int i=0; i < memberSize; i++) {
          if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) {
              return true;
          }
      }
  
      return false;
  }
  
  /**
    * End of file UnionDatatypeValidator.hpp
    */
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/ComplexTypeInfo.hpp
  
  Index: ComplexTypeInfo.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: ComplexTypeInfo.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(COMPLEXTYPEINFO_HPP)
  #define COMPLEXTYPEINFO_HPP
  
  
  /**
    * The class act as a place holder to store complex type information.
    *
    * The class is intended for internal use.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLString.hpp>
  #include <util/RefHash2KeysTableOf.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/Janitor.hpp>
  #include <framework/XMLElementDecl.hpp>
  #include <framework/XMLContentModel.hpp>
  #include <validators/schema/SchemaAttDef.hpp>
  
  
  // ---------------------------------------------------------------------------
  //  Forward Declarations
  // ---------------------------------------------------------------------------
  class DatatypeValidator;
  class ContentSpecNode;
  class SchemaAttDefList;
  class SchemaElementDecl;
  
  
  class VALIDATORS_EXPORT ComplexTypeInfo
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors/Destructor
      // -----------------------------------------------------------------------
      ComplexTypeInfo();
      ~ComplexTypeInfo();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool                     getAbstract() const;
      bool                     getAdoptContentSpec() const;
      int                      getDerivedBy() const;
      int                      getBlockSet() const;
      int                      getFinalSet() const;
      int                      getScopeDefined() const;
      unsigned int             getElementId() const;
      int                      getContentType() const;
      unsigned int             elementCount() const;
      XMLCh*                   getTypeName() const;
      DatatypeValidator*       getBaseDatatypeValidator() const;
      DatatypeValidator*       getDatatypeValidator() const;
      ComplexTypeInfo*         getBaseComplexTypeInfo() const;
      ContentSpecNode*         getContentSpec() const;
      const SchemaAttDef*      getAttWildCard() const;
      SchemaAttDef*            getAttWildCard();
      const SchemaAttDef*      getAttDef(const XMLCh* const baseName,
                                         const int uriId) const;
      SchemaAttDef*            getAttDef(const XMLCh* const baseName,
                                         const int uriId);
      XMLAttDefList&           getAttDefList() const;
      const SchemaElementDecl* elementAt(const unsigned int index) const;
      SchemaElementDecl*       elementAt(const unsigned int index);
      XMLContentModel*         getContentModel(const bool checkUPA = false);
      const XMLCh*             getFormattedContentModel ()   const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setAbstract(const bool isAbstract);
      void setAdoptContentSpec(const bool toAdopt);
      void setDerivedBy(const int derivedBy);
      void setBlockSet(const int blockSet);
      void setFinalSet(const int finalSet);
      void setScopeDefined(const int scopeDefined);
      void setElementId(const unsigned int elemId);
      void setTypeName(const XMLCh* const typeName);
      void setContentType(const int contentType);
      void setBaseDatatypeValidator(DatatypeValidator* const baseValidator);
      void setDatatypeValidator(DatatypeValidator* const validator);
      void setBaseComplexTypeInfo(ComplexTypeInfo* const typeInfo);
      void setContentSpec(ContentSpecNode* const toAdopt);
      void setAttWildCard(SchemaAttDef* const toAdopt);
      void addAttDef(SchemaAttDef* const toAdd);
      void addElement(SchemaElementDecl* const toAdd);
      void setContentModel(XMLContentModel* const newModelToAdopt);
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
      bool hasAttDefs() const;
      bool contains(const XMLCh* const attName);
      XMLAttDef* findAttr
      (
          const   XMLCh* const    qName
          , const unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefix
          , const XMLElementDecl::LookupOpts      options
          ,       bool&           wasAdded
      )   const;
      bool resetDefs();
      void checkUniqueParticleAttribution
      (
          GrammarResolver*  const pGrammarResolver
        , XMLStringPool*    const pStringPool
        , XMLValidator*     const pValidator
      ) ;
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented contstructors and operators
      // -----------------------------------------------------------------------
      ComplexTypeInfo(const ComplexTypeInfo& elemInfo);
      ComplexTypeInfo& operator= (const ComplexTypeInfo& other);
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void faultInAttDefList() const;
      XMLContentModel* createChildModel(ContentSpecNode* specNode, const bool isMixed);
      XMLContentModel* makeContentModel(const bool checkUPA = false, ContentSpecNode* const specNode = 0);
      XMLCh* formatContentModel () const ;
      ContentSpecNode* expandContentModel(ContentSpecNode* const curNode, const int minOccurs, const int maxOccurs);
      ContentSpecNode* convertContentSpecTree(ContentSpecNode* const curNode, const bool checkUPA = false);
      void resizeContentSpecOrgURI();
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      bool                               fAbstract;
      bool                               fAdoptContentSpec;
      int                                fDerivedBy;
      int                                fBlockSet;
      int                                fFinalSet;
      int                                fScopeDefined;
      unsigned int                       fElementId;
      int                                fContentType;
      XMLCh*                             fTypeName;
      DatatypeValidator*                 fBaseDatatypeValidator;
      DatatypeValidator*                 fDatatypeValidator;
      ComplexTypeInfo*                   fBaseComplexTypeInfo;
      ContentSpecNode*                   fContentSpec;
      SchemaAttDef*                      fAttWildCard;
      RefHash2KeysTableOf<SchemaAttDef>* fAttDefs;
      SchemaAttDefList*                  fAttList;
      RefVectorOf<SchemaElementDecl>*    fElements;
      XMLContentModel*                   fContentModel;
      XMLCh*                             fFormattedModel;
      unsigned int*                      fContentSpecOrgURI;
      unsigned int                       fUniqueURI;
      unsigned int                       fContentSpecOrgURISize;
      RefVectorOf<ContentSpecNode>*      fSpecNodesToDelete;
  };
  
  // ---------------------------------------------------------------------------
  //  ComplexTypeInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline bool ComplexTypeInfo::getAbstract() const {
  
      return fAbstract;
  }
  
  inline bool ComplexTypeInfo::getAdoptContentSpec() const {
  
      return fAdoptContentSpec;
  }
  
  inline int ComplexTypeInfo::getDerivedBy() const {
  
      return fDerivedBy;
  }
  
  inline int ComplexTypeInfo::getBlockSet() const {
  
      return fBlockSet;
  }
  
  inline int ComplexTypeInfo::getFinalSet() const {
  
      return fFinalSet;
  }
  
  inline int ComplexTypeInfo::getScopeDefined() const {
  
      return fScopeDefined;
  }
  
  inline unsigned int ComplexTypeInfo::getElementId() const {
  
      return fElementId;
  }
  
  inline int ComplexTypeInfo::getContentType() const {
  
      return fContentType;
  }
  
  inline unsigned int ComplexTypeInfo::elementCount() const {
  
      if (fElements) {
          return fElements->size();
      }
  
      return 0;
  }
  
  inline XMLCh* ComplexTypeInfo::getTypeName() const {
  
      return fTypeName;
  }
  
  inline DatatypeValidator* ComplexTypeInfo::getBaseDatatypeValidator() const {
  
      return fBaseDatatypeValidator;
  }
  
  inline DatatypeValidator* ComplexTypeInfo::getDatatypeValidator() const {
  
      return fDatatypeValidator;
  }
  
  inline ComplexTypeInfo* ComplexTypeInfo::getBaseComplexTypeInfo() const {
  
      return fBaseComplexTypeInfo;
  }
  
  inline ContentSpecNode* ComplexTypeInfo::getContentSpec() const {
  
      return fContentSpec;
  }
  
  inline const SchemaAttDef* ComplexTypeInfo::getAttWildCard() const {
  
      return fAttWildCard;
  }
  
  inline SchemaAttDef* ComplexTypeInfo::getAttWildCard() {
  
      return fAttWildCard;
  }
  
  inline const SchemaAttDef* ComplexTypeInfo::getAttDef(const XMLCh* const baseName,
                                                        const int uriId) const {
  
      // If no list, then return a null
      if (!fAttDefs)
          return 0;
  
      return fAttDefs->get(baseName, uriId);
  }
  
  inline SchemaAttDef* ComplexTypeInfo::getAttDef(const XMLCh* const baseName,
                                                  const int uriId)
  {
      // If no list, then return a null
      if (!fAttDefs)
          return 0;
  
      return fAttDefs->get(baseName, uriId);
  }
  
  inline SchemaElementDecl*
  ComplexTypeInfo::elementAt(const unsigned int index) {
  
      if (!fElements) {
          return 0; // REVISIT - need to throw an exception
      }
  
      return fElements->elementAt(index);
  }
  
  inline const SchemaElementDecl*
  ComplexTypeInfo::elementAt(const unsigned int index) const {
  
      if (!fElements) {
          return 0; // REVISIT - need to throw an exception
      }
  
      return fElements->elementAt(index);
  }
  
  inline XMLContentModel* ComplexTypeInfo::getContentModel(const bool checkUPA)
  {
      if (!fContentModel)
          fContentModel = makeContentModel(checkUPA);
  
      return fContentModel;
  }
  
  // ---------------------------------------------------------------------------
  //  ComplexTypeInfo: Setter methods
  // ---------------------------------------------------------------------------
  inline void ComplexTypeInfo::setAbstract(const bool isAbstract) {
  
      fAbstract = isAbstract;
  }
  
  inline void ComplexTypeInfo::setAdoptContentSpec(const bool toAdopt) {
  
      fAdoptContentSpec = toAdopt;
  }
  
  inline void ComplexTypeInfo::setDerivedBy(const int derivedBy) {
  
      fDerivedBy = derivedBy;
  }
  
  inline void ComplexTypeInfo::setBlockSet(const int blockSet) {
  
      fBlockSet = blockSet;
  }
  
  inline void ComplexTypeInfo::setFinalSet(const int finalSet) {
  
      fFinalSet = finalSet;
  }
  
  inline void ComplexTypeInfo::setScopeDefined(const int scopeDefined) {
  
      fScopeDefined = scopeDefined;
  }
  
  inline void ComplexTypeInfo::setElementId(const unsigned int elemId) {
  
      fElementId = elemId;
  }
  
  inline void
  ComplexTypeInfo::setContentType(const int contentType) {
  
      fContentType = contentType;
  }
  
  inline void ComplexTypeInfo::setTypeName(const XMLCh* const typeName) {
  
      if (fTypeName != 0) {
          delete [] fTypeName;
      }
  
      fTypeName = XMLString::replicate(typeName);
  }
  
  inline void
  ComplexTypeInfo::setBaseDatatypeValidator(DatatypeValidator* const validator) {
  
      fBaseDatatypeValidator = validator;
  }
  
  inline void
  ComplexTypeInfo::setDatatypeValidator(DatatypeValidator* const validator) {
  
      fDatatypeValidator = validator;
  }
  
  inline void
  ComplexTypeInfo::setBaseComplexTypeInfo(ComplexTypeInfo* const typeInfo) {
  
      fBaseComplexTypeInfo = typeInfo;
  }
  
  inline void ComplexTypeInfo::addElement(SchemaElementDecl* const elem) {
  
      if (!fElements) {
          fElements = new RefVectorOf<SchemaElementDecl>(8, false);
      }
  
      fElements->addElement(elem);
  }
  
  inline void ComplexTypeInfo::setAttWildCard(SchemaAttDef* const toAdopt) {
  
      if (fAttWildCard) {
         delete fAttWildCard;
      }
  
      fAttWildCard = toAdopt;
  }
  
  inline void
  ComplexTypeInfo::setContentModel(XMLContentModel* const newModelToAdopt)
  {
      delete fContentModel;
      fContentModel = newModelToAdopt;
  }
  
  // ---------------------------------------------------------------------------
  //  ComplexTypeInfo: Helper methods
  // ---------------------------------------------------------------------------
  inline bool ComplexTypeInfo::hasAttDefs() const
  {
      // If the collection hasn't been faulted in, then no att defs
      if (!fAttDefs)
          return false;
  
      return !fAttDefs->isEmpty();
  }
  
  inline bool ComplexTypeInfo::contains(const XMLCh* const attName) {
  
      if (!fAttDefs) {
          return false;
      }
  
      RefHash2KeysTableOfEnumerator<SchemaAttDef> enumDefs(fAttDefs);
  
      while (enumDefs.hasMoreElements()) {
  
          if (XMLString::compareString(attName,
                  enumDefs.nextElement().getAttName()->getLocalPart()) == 0) {
              return true;
          }
      }
  
      return false;
  }
  
  #endif
  
  /**
    * End of file ComplexTypeInfo.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/GeneralAttributeCheck.hpp
  
  Index: GeneralAttributeCheck.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: GeneralAttributeCheck.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(GENERALATTRIBUTECHECK_HPP)
  #define GENERALATTRIBUTECHECK_HPP
  
  
  /** 
    * A general purpose class to check for valid values of attributes, as well
    * as check for proper association with corresponding schema elements.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/RefVectorOf.hpp>
  #include <util/RefHashTableOf.hpp>
  #include <util/RefHash2KeysTableOf.hpp>
  #include <dom/DOM_Element.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward declaration
  // ---------------------------------------------------------------------------
  class TraverseSchema;
  class DatatypeValidator;
  
  class AttributeInfo {
  public:
      // -----------------------------------------------------------------------
      //  Constructor/Destructor
      // -----------------------------------------------------------------------
      AttributeInfo(const XMLCh* const name, const short defaultOption,
                    const XMLCh* const defaultValue, const short dvIndex);
      ~AttributeInfo();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      short  getDefaultOption() const;
      short  getValidatorIndex() const;
      XMLCh* getName() const;
      XMLCh* getDefaultValue() const;
  
  
  private:
      // -----------------------------------------------------------------------
      //  CleanUp methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      short  fDefaultOption;
      short  fValidatorIndex;
      XMLCh* fName;
      XMLCh* fDefaultValue;
  };
  
  
  // ---------------------------------------------------------------------------
  //  local type declaration
  // ---------------------------------------------------------------------------
  typedef RefVectorOf<AttributeInfo> RefVectorOfAttributeInfo;
  
  
  class GeneralAttributeCheck
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructor/Destructor
      // -----------------------------------------------------------------------
      ~GeneralAttributeCheck();
  
      // -----------------------------------------------------------------------
      //  Instance methods
      // -----------------------------------------------------------------------
      static GeneralAttributeCheck* instance();
  
      // -----------------------------------------------------------------------
      //  Public Constants
      // -----------------------------------------------------------------------
      static const unsigned short GlobalContext;
      static const unsigned short LocalContext;
  
      // -----------------------------------------------------------------------
      //  Validation methods
      // -----------------------------------------------------------------------
      void checkAttributes(const DOM_Element& elem,
                           const unsigned short elemContext,
                           TraverseSchema* const schema);
  
  	// -----------------------------------------------------------------------
      //  Notification that lazy data has been deleted
      // -----------------------------------------------------------------------
  	static void reinitInstance();
  
  private:
      // -----------------------------------------------------------------------
      //  Constructor and destructors
      // -----------------------------------------------------------------------
      GeneralAttributeCheck();
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      GeneralAttributeCheck(const GeneralAttributeCheck&);
      void operator=(const GeneralAttributeCheck&);
  
      // -----------------------------------------------------------------------
      //  Setup methods
      // -----------------------------------------------------------------------
      void setUpAttributes();
      void setUpValidators();
      void mapElements();
  
      // -----------------------------------------------------------------------
      //  CleanUp methods
      // -----------------------------------------------------------------------
      void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Validation methods
      // -----------------------------------------------------------------------
      void validate(const XMLCh* const attName, const XMLCh* const attValue,
                    const short dvIndex, TraverseSchema* const schema);
  
      // -----------------------------------------------------------------------
      //  Private Constants
      // -----------------------------------------------------------------------
      // attributes 
      enum {
          Att_Abstract_D,                // starts with 0
          Att_Attribute_FD_D,
          Att_Base_R,
          Att_Base_N,
          Att_Block_N,
          Att_Block1_N,
          Att_Block_D_D,
          Att_Default_N,
          Att_Element_FD_D,
          Att_Final_N,
          Att_Final1_N,
          Att_Final_D_D,
          Att_Fixed_N,
          Att_Fixed_D,
          Att_Form_N,
          Att_ID_N,
          Att_ItemType_N,
          Att_MaxOccurs_D,
          Att_MaxOccurs1_D,
          Att_Member_T_N,
          Att_MinOccurs_D,
          Att_MinOccurs1_D,
          Att_Mixed_D,
          Att_Mixed_N,
          Att_Name_R,
          Att_Namespace_D,
          Att_Namespace_N,
          Att_Nillable_D,
          Att_Process_C_D,
          Att_Public_R,
          Att_Ref_R,
          Att_Refer_R,
          Att_Schema_L_R,
          Att_Schema_L_N,
          Att_Source_N,
          Att_Substitution_G_N,
          Att_System_N,
          Att_Target_N_N,
          Att_Type_N,
          Att_Use_D,
          Att_Value_NNI_N,
          Att_Value_STR_N,
          Att_Value_WS_N,
          Att_Version_N,
  
          // TO DO - Add XPath
  
          Att_Count
      };
  
      // direct value compare
      enum {
          DT_Block = -1,
          DT_Block1 = -2,
          DT_Final = -3,
          DT_Final1 = -4,
          DT_Form = -5,
          DT_MaxOccurs = -6,
          DT_MaxOccurs1 = -7,
          DT_MemberTypes = -8,
          DT_MinOccurs1 = -9,
          DT_Namespace = -10,
          DT_ProcessContents = -11,
          DT_Public = -12,
          DT_Use = -13,
          DT_WhiteSpace = -14
      };
  
      // datatype validators
      enum {
          DT_String,
          DT_Token,
          DT_AnyURI,
          DT_ID,
          DT_NonNegInt,
          DT_QName,
          DT_Boolean,
  
          // add XPath
          DT_Count
      };
  
      // element context prefixes
      enum {
          globalPrefix,
          localNamePrefix,
          localRefPrefix
      };
  
      // optional vs. required attribute 
      enum { 
          Att_Required,
          Att_Optional_Default,
          Att_Optional_NoDefault
      };
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      AttributeInfo**                                fAttributes;
      DatatypeValidator**                            fValidators;
      RefHash2KeysTableOf<RefVectorOfAttributeInfo>* fElementMap;
      static GeneralAttributeCheck* fInstance;
  };
  
  
  // ---------------------------------------------------------------------------
  //  AttributeInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline short AttributeInfo::getDefaultOption() const {
  
      return fDefaultOption;
  }
  
  inline short AttributeInfo::getValidatorIndex() const {
  
      return fValidatorIndex;
  }
  
  inline XMLCh* AttributeInfo::getName() const {
  
      return fName;
  }
  
  inline XMLCh* AttributeInfo::getDefaultValue() const {
  
      return fDefaultValue;
  }
  
  // ---------------------------------------------------------------------------
  //  AttributeInfo: CleanUp methods
  // ---------------------------------------------------------------------------
  inline void AttributeInfo::cleanUp() {
  
      delete [] fName;
      delete [] fDefaultValue;
  }
  
  #endif
  
  /**
    * End of file GeneralAttributeCheck.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/NamespaceScope.hpp
  
  Index: NamespaceScope.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: NamespaceScope.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(NAMESPACESCOPE_HPP)
  #define NAMESPACESCOPE_HPP
  
  #include <util/XercesDefs.hpp>
  #include <util/StringPool.hpp>
  
  //
  // NamespaceScope provides a data structure for mapping namespace prefixes
  // to their URI's. The mapping accurately reflects the scoping of namespaces
  // at a particular instant in time.
  //
  
  class VALIDATORS_EXPORT NamespaceScope
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific data types
      //
      //  These really should be private, but some of the compilers we have to
      //  support are too dumb to deal with that.
      //
      //  PrefMapElem
      //      fURIId is the id of the URI from the validator's URI map. The
      //      fPrefId is the id of the prefix from our own prefix pool. The
      //      namespace stack consists of these elements.
      //
      //  StackElem
      //      The fMapCapacity is how large fMap has grown so far. fMapCount
      //      is how many of them are valid right now.
      // -----------------------------------------------------------------------
      struct PrefMapElem
      {
          unsigned int        fPrefId;
          unsigned int        fURIId;
      };
  
      struct StackElem
      {
          PrefMapElem*        fMap;
          unsigned int        fMapCapacity;
          unsigned int        fMapCount;
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      NamespaceScope();
      ~NamespaceScope();
  
  
      // -----------------------------------------------------------------------
      //  Stack access
      // -----------------------------------------------------------------------
      unsigned int increaseDepth();
      unsigned int decreaseDepth();
  
      // -----------------------------------------------------------------------
      //  Prefix map methods
      // -----------------------------------------------------------------------
      void addPrefix(const XMLCh* const prefixToAdd,
                     const unsigned int uriId);
  
      unsigned int getNamespaceForPrefix(const XMLCh* const prefixToMap) const;
      unsigned int getNamespaceForPrefix(const XMLCh* const prefixToMap,
                                         const int depthLevel) const;
  
  
      // -----------------------------------------------------------------------
      //  Miscellaneous methods
      // -----------------------------------------------------------------------
      bool isEmpty() const;
      void reset(const unsigned int emptyId);
  
  
  private :
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      NamespaceScope(const NamespaceScope&);
      void operator=(const NamespaceScope&);
  
  
      // -----------------------------------------------------------------------
      //  Private helper methods
      // -----------------------------------------------------------------------
      void expandMap(StackElem* const toExpand);
      void expandStack();
  
  
      // -----------------------------------------------------------------------
      //  Data members
      //
      //  fEmptyNamespaceId
      //      This is the special URI id for the "" namespace, which is magic
      //      because of the xmlns="" operation.
      //
      //  fPrefixPool
      //      This is the prefix pool where prefixes are hashed and given unique
      //      ids. These ids are used to track prefixes in the element stack.
      //
      //  fStack
      //  fStackCapacity
      //  fStackTop
      //      This the stack array. Its an array of pointers to StackElem
      //      structures. The capacity is the current high water mark of the
      //      stack. The top is the current top of stack (i.e. the part of it
      //      being used.)
      // -----------------------------------------------------------------------
      unsigned int  fEmptyNamespaceId;
      unsigned int  fStackCapacity;
      unsigned int  fStackTop;
      XMLStringPool fPrefixPool;
      StackElem**   fStack;
  };
  
  
  // ---------------------------------------------------------------------------
  //  NamespaceScope: Stack access
  // ---------------------------------------------------------------------------
  inline unsigned int
  NamespaceScope::getNamespaceForPrefix(const XMLCh* const prefixToMap) const {
  
      return getNamespaceForPrefix(prefixToMap, (int)(fStackTop - 1));
  }
  
  // ---------------------------------------------------------------------------
  //  NamespaceScope: Miscellaneous methods
  // ---------------------------------------------------------------------------
  inline bool NamespaceScope::isEmpty() const
  {
      return (fStackTop == 0);
  }
  
  #endif
  
  /**
    * End of file NameSpaceScope.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaAttDef.hpp
  
  Index: SchemaAttDef.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SchemaAttDef.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.6  2001/08/10 12:34:25  knoaman
   * Fix compilation error.
   *
   * Revision 1.5  2001/08/09 15:23:16  knoaman
   * add support for <anyAttribute> declaration.
   *
   * Revision 1.4  2001/07/31 15:26:54  knoaman
   * Added support for <attributeGroup>.
   *
   * Revision 1.3  2001/05/11 17:17:41  tng
   * Schema: DatatypeValidator fixes.  By Pei Yong Zhang.
   *
   * Revision 1.2  2001/05/11 13:27:34  tng
   * Copyright update.
   *
   * Revision 1.1  2001/02/27 18:48:22  tng
   * Schema: Add SchemaAttDef, SchemaElementDecl, SchemaAttDefList.
   *
   */
  #if !defined(SCHEMAATTDEF_HPP)
  #define SCHEMAATTDEF_HPP
  
  #include <util/XMLString.hpp>
  #include <framework/XMLAttDef.hpp>
  #include <util/ValueVectorOf.hpp>
  
  class DatatypeValidator;
  class QName;
  
  //
  //  This class is a derivative of the core XMLAttDef class. This class adds
  //  any Schema specific data members and provides Schema specific implementations
  //  of any underlying attribute def virtual methods.
  //
  class VALIDATORS_EXPORT SchemaAttDef : public XMLAttDef
  {
  public :
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructors
      // -----------------------------------------------------------------------
      SchemaAttDef();
      SchemaAttDef
      (
            const XMLCh* const                     prefix
          , const XMLCh* const                     localPart
          , const int                              uriId
          , const XMLAttDef::AttTypes              type = CData
          , const XMLAttDef::DefAttTypes           defType = Implied
      );
      SchemaAttDef
      (
            const XMLCh* const                     prefix
          , const XMLCh* const                     localPart
          , const int                              uriId
          , const XMLCh* const                     attValue
          , const XMLAttDef::AttTypes              type
          , const XMLAttDef::DefAttTypes           defType
          , const XMLCh* const                     enumValues = 0
      );
      SchemaAttDef
      (
            const SchemaAttDef*                   other
      );
      virtual ~SchemaAttDef();
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLAttDef interface
      // -----------------------------------------------------------------------
      virtual const XMLCh* getFullName() const;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int getElemId() const;
      QName* getAttName() const;
      DatatypeValidator* getDatatypeValidator() const;
      ValueVectorOf<unsigned int>* getNamespaceList() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setElemId(const unsigned int newId);
      void setAttName
      (
          const XMLCh* const        prefix
         ,const XMLCh* const        localPart
         ,const int                 uriId = -1
      );
      void setDatatypeValidator(DatatypeValidator* newDatatypeValidator);
      void setNamespaceList(const ValueVectorOf<unsigned int>* const toSet);
      void resetNamespaceList();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElemId
      //      This is the id of the element (the id is into the element decl
      //      pool) of the element this attribute def said it belonged to.
      //      This is used later to link back to the element, mostly for
      //      validation purposes.
      //
      //  fAttName
      //      This is the name of the attribute.
      //
      //  fDatatypeValidator
      //      The DatatypeValidator used to validate this attribute type.
      //
      //  fNamespaceList
      //      The list of namespace values for a wildcard attribute
      //
      // -----------------------------------------------------------------------
      unsigned int                 fElemId;
      QName*                       fAttName;
      DatatypeValidator*           fDatatypeValidator;
      ValueVectorOf<unsigned int>* fNamespaceList;
  };
  
  
  // ---------------------------------------------------------------------------
  //  SchemaAttDef: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int SchemaAttDef::getElemId() const
  {
      return fElemId;
  }
  
  
  inline QName* SchemaAttDef::getAttName() const
  {
      return fAttName;
  }
  
  inline DatatypeValidator* SchemaAttDef::getDatatypeValidator() const
  {
      return fDatatypeValidator;
  }
  
  inline ValueVectorOf<unsigned int>*
  SchemaAttDef::getNamespaceList() const {
      return fNamespaceList;
  }
  
  
  // ---------------------------------------------------------------------------
  //  SchemaAttDef: Setter methods
  // ---------------------------------------------------------------------------
  inline void SchemaAttDef::setElemId(const unsigned int newId)
  {
      fElemId = newId;
  }
  
  inline void SchemaAttDef::setDatatypeValidator(DatatypeValidator* newDatatypeValidator)
  {
      fDatatypeValidator = newDatatypeValidator;
  }
  
  inline void SchemaAttDef::resetNamespaceList() {
  
      if (fNamespaceList && fNamespaceList->size()) {
          fNamespaceList->removeAllElements();
      }
  }
  
  inline void SchemaAttDef::setNamespaceList(const ValueVectorOf<unsigned int>* const toSet) {
  
      if (toSet && toSet->size()) {
  
          if (fNamespaceList) {
              *fNamespaceList = *toSet;
          }
          else {
              fNamespaceList = new ValueVectorOf<unsigned int>(*toSet);
          }
      }
      else  {
          resetNamespaceList();
      }
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaAttDefList.hpp
  
  Index: SchemaAttDefList.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SchemaAttDefList.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:27:34  tng
   * Copyright update.
   *
   * Revision 1.1  2001/02/27 18:48:22  tng
   * Schema: Add SchemaAttDef, SchemaElementDecl, SchemaAttDefList.
   *
   */
  
  
  #if !defined(SCHEMAATTDEFLIST_HPP)
  #define SCHEMAATTDEFLIST_HPP
  
  #include <util/RefHash2KeysTableOf.hpp>
  #include <validators/schema/SchemaElementDecl.hpp>
  
  
  //
  //  This is a derivative of the framework abstract class which defines the
  //  interface to a list of attribute defs that belong to a particular
  //  element. The scanner needs to be able to get a list of the attributes
  //  that an element supports, for use during the validation process and for
  //  fixed/default attribute processing.
  //
  //  For us, we just wrap the RefHash2KeysTableOf collection that the SchemaElementDecl
  //  class uses to store the attributes that belong to it.
  //
  //  This class does not adopt the hash table, it just references it. The
  //  hash table is owned by the element decl it is a member of.
  //
  class SchemaAttDefList : public XMLAttDefList
  {
  public :
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      SchemaAttDefList
      (
          RefHash2KeysTableOf<SchemaAttDef>* const    listToUse
      );
  
      ~SchemaAttDefList();
  
  
      // -----------------------------------------------------------------------
      //  Implementation of the virtual interface
      // -----------------------------------------------------------------------
      virtual bool hasMoreElements() const;
      virtual bool isEmpty() const;
      virtual XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      );
      virtual const XMLAttDef* findAttDef
      (
          const   unsigned long       uriID
          , const XMLCh* const        attName
      )   const;
      virtual XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      );
      virtual const XMLAttDef* findAttDef
      (
          const   XMLCh* const        attURI
          , const XMLCh* const        attName
      )   const;
      virtual XMLAttDef& nextElement();
      virtual void Reset();
  
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fEnum
      //      This is an enumerator for the list that we use to do the enumerator
      //      type methods of this class.
      //
      //  fList
      //      The list of SchemaAttDef objects that represent the attributes that
      //      a particular element supports.
      // -----------------------------------------------------------------------
      RefHash2KeysTableOfEnumerator<SchemaAttDef>*    fEnum;
      RefHash2KeysTableOf<SchemaAttDef>*              fList;
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaElementDecl.hpp
  
  Index: SchemaElementDecl.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SchemaElementDecl.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.14  2001/10/11 12:07:39  tng
   * Schema: model type should be based on complextypeinfo if exists.
   *
   * Revision 1.13  2001/09/05 20:49:11  knoaman
   * Fix for complexTypes with mixed content model.
   *
   * Revision 1.12  2001/08/29 20:52:35  tng
   * Schema: xsi:type support
   *
   * Revision 1.11  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.10  2001/08/09 15:23:16  knoaman
   * add support for <anyAttribute> declaration.
   *
   * Revision 1.9  2001/07/24 18:33:46  knoaman
   * Added support for <group> + extra constraint checking for complexType
   *
   * Revision 1.8  2001/06/13 20:51:15  peiyongz
   * fIsMixed: to handle mixed Content Model
   *
   * Revision 1.7  2001/05/11 13:27:36  tng
   * Copyright update.
   *
   * Revision 1.6  2001/05/03 20:34:43  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.5  2001/05/03 19:18:01  knoaman
   * TraverseSchema Part II.
   *
   * Revision 1.4  2001/04/19 17:43:17  knoaman
   * More schema implementation classes.
   *
   * Revision 1.3  2001/03/21 21:56:33  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   * Revision 1.2  2001/03/21 19:30:17  tng
   * Schema: Content Model Updates, by Pei Yong Zhang.
   *
   * Revision 1.1  2001/02/27 18:48:23  tng
   * Schema: Add SchemaAttDef, SchemaElementDecl, SchemaAttDefList.
   *
   */
  
  
  #if !defined(SCHEMAELEMENTDECL_HPP)
  #define SCHEMAELEMENTDECL_HPP
  
  #include <util/QName.hpp>
  #include <validators/common/Grammar.hpp>
  #include <validators/schema/ComplexTypeInfo.hpp>
  
  class ContentSpecNode;
  class SchemaAttDefList;
  class DatatypeValidator;
  
  //
  //  This class is a derivative of the basic element decl. This one implements
  //  the virtuals so that they work for a Schema.
  //
  class VALIDATORS_EXPORT SchemaElementDecl : public XMLElementDecl
  {
  public :
      // -----------------------------------------------------------------------
      //  Class specific types
      //
      //  ModelTypes
      //      Indicates the type of content model that an element has. This
      //      indicates how the content model is represented and validated.
      // -----------------------------------------------------------------------
      enum ModelTypes
      {
          Empty
          , Any
          , Mixed_Simple
          , Mixed_Complex
          , Children
          , Simple
  
          , ModelTypes_Count
      };
  
  
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      SchemaElementDecl();
  
      SchemaElementDecl
      (
          const XMLCh* const       prefix
        , const XMLCh* const       localPart
        , const int                uriId
        , const ModelTypes         modelType = Any
        , const int                enclosingScope = Grammar::TOP_LEVEL_SCOPE
      );
  
      SchemaElementDecl
      (
          const QName* const       elementName
        , const ModelTypes         modelType = Any
        , const int                enclosingScope = Grammar::TOP_LEVEL_SCOPE
      );
  
      ~SchemaElementDecl();
  
  
      // -----------------------------------------------------------------------
      //  The virtual element decl interface
      // -----------------------------------------------------------------------
      virtual XMLAttDef* findAttr
      (
          const   XMLCh* const    qName
          , const unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefix
          , const LookupOpts      options
          ,       bool&           wasAdded
      )   const;
      virtual XMLAttDefList& getAttDefList() const;
      virtual CharDataOpts getCharDataOpts() const;
      virtual bool hasAttDefs() const;
      virtual bool resetDefs();
      virtual const ContentSpecNode* getContentSpec() const;
      virtual ContentSpecNode* getContentSpec();
      virtual void setContentSpec(ContentSpecNode* toAdopt);
      virtual XMLContentModel* getContentModel();
      virtual void setContentModel(XMLContentModel* const newModelToAdopt);
      virtual const XMLCh* getFormattedContentModel ()   const;
  
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      const SchemaAttDef* getAttDef(const XMLCh* const baseName, const int uriId) const;
      SchemaAttDef* getAttDef(const XMLCh* const baseName, const int uriId);
      const SchemaAttDef* getAttWildCard() const;
      SchemaAttDef* getAttWildCard();
      ModelTypes getModelType() const;
      DatatypeValidator* getDatatypeValidator() const;
      int getEnclosingScope() const;
      int getDefinedScope() const;
      int getFinalSet() const;
      int getBlockSet() const;
      int getMiscFlags() const;
      XMLCh* getDefaultValue() const;
      XMLCh* getSubstitutionGroupName() const;
      XMLCh* getTypeFromAnotherSchemaURI() const;
      ComplexTypeInfo* getComplexTypeInfo() const;
  
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setModelType(const SchemaElementDecl::ModelTypes toSet);
      void setDatatypeValidator(DatatypeValidator* newDatatypeValidator);
      void setEnclosingScope(const int enclosingScope);
      void setDefinedScope(const int definedScope);
      void setFinalSet(const int finalSet);
      void setBlockSet(const int blockSet);
      void setMiscFlags(const int flags);
      void setDefaultValue(const XMLCh* const value);
      void setSubstitutionGroupName(const XMLCh* const name);
      void setTypeFromAnotherSchemaURI(const XMLCh* const uriStr);
      void setComplexTypeInfo(ComplexTypeInfo* const typeInfo);
      void setXsiComplexTypeInfo(ComplexTypeInfo* const typeInfo);
  
  private :
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fModelType
      //      The content model type of this element. This tells us what kind
      //      of content model to create.
      //
      //  fDatatypeValidator
      //      The DatatypeValidator used to validate this element type.
      //
      //  fEnclosingScope
      //      The enclosing scope where this element is declared.
      //
      //  fDefinedScope
      //      The Complex Element that this element belongs to.
      //
      //  fFinalSet
      //      The value set of the 'final' attribute.
      //
      //  fBlockSet
      //      The value set of the 'block' attribute.
      //
      //  fMiscFlags
      //      Stores 'abstract/nullable' values
      //
      //  fDefaultValue
      //      The defalut/fixed value
      //
      //  fSubstitutionGroupName
      //      The substitution group full name ("uristring','local")
      //
      //  fTypeFromAnotherSchemaURI
      //      The URI of type if it belongs to a different schema
      //
      //  fComplexTypeInfo
      //      Stores complex type information
      //      (no need to delete - handled by schema grammar)
      //
      //  fAttDefs
      //      The list of attributes that are faulted in for this element
      //      when ComplexTypeInfo does not exist.  We want to keep track
      //      of these faulted in attributes to avoid duplicate redundant
      //      error.
      //
      //  fXsiComplexTypeInfo
      //      Temporary store the xsi:type ComplexType here for validation
      //      If it presents, then it takes precedence than its own fComplexTypeInfo.
      // -----------------------------------------------------------------------
      ModelTypes                     fModelType;
      DatatypeValidator*             fDatatypeValidator;
      int                            fEnclosingScope;
      int                            fDefinedScope;
      int                            fFinalSet;
      int                            fBlockSet;
      int                            fMiscFlags;
      XMLCh*                         fDefaultValue;
      XMLCh*                         fSubstitutionGroupName;
      XMLCh*                         fTypeFromAnotherSchemaURI;
      ComplexTypeInfo*               fComplexTypeInfo;
      RefHash2KeysTableOf<SchemaAttDef>* fAttDefs;
      ComplexTypeInfo*               fXsiComplexTypeInfo;
  };
  
  // ---------------------------------------------------------------------------
  //  SchemaElementDecl: XMLElementDecl virtual interface implementation
  // ---------------------------------------------------------------------------
  inline ContentSpecNode* SchemaElementDecl::getContentSpec()
  {
      if (fXsiComplexTypeInfo != 0) {
          return fXsiComplexTypeInfo->getContentSpec();
      }
      else if (fComplexTypeInfo != 0) {
          return fComplexTypeInfo->getContentSpec();
      }
  
      return 0;
  }
  
  inline const ContentSpecNode* SchemaElementDecl::getContentSpec() const
  {
      if (fXsiComplexTypeInfo != 0) {
          return fXsiComplexTypeInfo->getContentSpec();
      }
      else if (fComplexTypeInfo != 0) {
          return fComplexTypeInfo->getContentSpec();
      }
  
      return 0;
  }
  
  inline void
  SchemaElementDecl::setContentSpec(ContentSpecNode* toAdopt)
  {
      //Handled by complexType
  }
  
  inline XMLContentModel* SchemaElementDecl::getContentModel()
  {
      if (fXsiComplexTypeInfo != 0) {
          return fXsiComplexTypeInfo->getContentModel();
      }
      else if (fComplexTypeInfo != 0) {
          return fComplexTypeInfo->getContentModel();
      }
      return 0;
  }
  
  inline void
  SchemaElementDecl::setContentModel(XMLContentModel* const newModelToAdopt)
  {
      //Handled by complexType
  }
  
  
  // ---------------------------------------------------------------------------
  //  SchemaElementDecl: Getter methods
  // ---------------------------------------------------------------------------
  inline SchemaElementDecl::ModelTypes SchemaElementDecl::getModelType() const
  {
      if (fXsiComplexTypeInfo) {
          return (SchemaElementDecl::ModelTypes) fXsiComplexTypeInfo->getContentType();
      }
      else if (fComplexTypeInfo) {
          return (SchemaElementDecl::ModelTypes) fComplexTypeInfo->getContentType();
      }
  
      return fModelType;
  }
  
  inline DatatypeValidator* SchemaElementDecl::getDatatypeValidator() const
  {
      return fDatatypeValidator;
  }
  
  inline int SchemaElementDecl::getEnclosingScope() const
  {
      return fEnclosingScope;
  }
  
  inline int SchemaElementDecl::getDefinedScope() const
  {
      return fDefinedScope;
  }
  
  inline int SchemaElementDecl::getFinalSet() const
  {
      return fFinalSet;
  }
  
  inline int SchemaElementDecl::getBlockSet() const
  {
      return fBlockSet;
  }
  
  inline int SchemaElementDecl::getMiscFlags() const
  {
      return fMiscFlags;
  }
  
  inline XMLCh* SchemaElementDecl::getDefaultValue() const
  {
      return fDefaultValue;
  }
  
  inline XMLCh* SchemaElementDecl::getSubstitutionGroupName() const
  {
  
      return fSubstitutionGroupName;
  }
  
  inline XMLCh* SchemaElementDecl::getTypeFromAnotherSchemaURI() const {
  
      return fTypeFromAnotherSchemaURI;
  }
  
  inline ComplexTypeInfo* SchemaElementDecl::getComplexTypeInfo() const
  {
      if (fXsiComplexTypeInfo) {
          return fXsiComplexTypeInfo;
      }
  
      return fComplexTypeInfo;
  }
  
  inline const SchemaAttDef* SchemaElementDecl::getAttWildCard() const {
  
      if (fXsiComplexTypeInfo) {
          return fXsiComplexTypeInfo->getAttWildCard();
      }
      else if (fComplexTypeInfo) {
          return fComplexTypeInfo->getAttWildCard();
      }
  
      return 0;
  }
  
  inline SchemaAttDef* SchemaElementDecl::getAttWildCard() {
  
      if (fXsiComplexTypeInfo) {
          return fXsiComplexTypeInfo->getAttWildCard();
      }
      else if (fComplexTypeInfo) {
          return fComplexTypeInfo->getAttWildCard();
      }
  
      return 0;
  }
  
  // ---------------------------------------------------------------------------
  //  SchemaElementDecl: Setter methods
  // ---------------------------------------------------------------------------
  inline void
  SchemaElementDecl::setModelType(const SchemaElementDecl::ModelTypes toSet)
  {
      fModelType = toSet;
  }
  
  inline void SchemaElementDecl::setDatatypeValidator(DatatypeValidator* newDatatypeValidator)
  {
      fDatatypeValidator = newDatatypeValidator;
  }
  
  inline void SchemaElementDecl::setEnclosingScope(const int newEnclosingScope)
  {
      fEnclosingScope = newEnclosingScope;
  }
  
  inline void SchemaElementDecl::setDefinedScope(const int newDefinedScope)
  {
      fDefinedScope = newDefinedScope;
  }
  
  inline void SchemaElementDecl::setFinalSet(const int finalSet)
  {
      fFinalSet = finalSet;
  }
  
  inline void SchemaElementDecl::setBlockSet(const int blockSet)
  {
      fBlockSet = blockSet;
  }
  
  inline void SchemaElementDecl::setMiscFlags(const int flags)
  {
      fMiscFlags = flags;
  }
  
  inline void SchemaElementDecl::setDefaultValue(const XMLCh* const value)
  {
      if (fDefaultValue) {
          delete[] fDefaultValue;
      }
  
      fDefaultValue = XMLString::replicate(value);
  }
  
  inline void SchemaElementDecl::setSubstitutionGroupName(const XMLCh* const name)
  {
      if (fSubstitutionGroupName) {
          delete [] fSubstitutionGroupName;
      }
  
      fSubstitutionGroupName = XMLString::replicate(name);
  }
  
  inline void
  SchemaElementDecl::setTypeFromAnotherSchemaURI(const XMLCh* const uriStr) {
  
      if (fTypeFromAnotherSchemaURI) {
          delete [] fTypeFromAnotherSchemaURI;
      }
  
      fTypeFromAnotherSchemaURI = XMLString::replicate(uriStr);
  }
  
  inline void
  SchemaElementDecl::setComplexTypeInfo(ComplexTypeInfo* const typeInfo)
  {
      fComplexTypeInfo = typeInfo;
  }
  
  inline void
  SchemaElementDecl::setXsiComplexTypeInfo(ComplexTypeInfo* const typeInfo)
  {
      fXsiComplexTypeInfo = typeInfo;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaGrammar.hpp
  
  Index: SchemaGrammar.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SchemaGrammar.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.13  2001/10/09 12:18:26  tng
   * Leak fix: should use delete [] to delete fTargetNamespace.
   *
   * Revision 1.12  2001/10/04 15:11:51  knoaman
   * Add support for circular import.
   *
   * Revision 1.10  2001/09/14 14:50:22  tng
   * Schema: Fix some wildcard bugs, and some retrieving qualified/unqualified element decl problems.
   *
   * Revision 1.9  2001/08/21 16:06:11  tng
   * Schema: Unique Particle Attribution Constraint Checking.
   *
   * Revision 1.8  2001/07/31 15:27:10  knoaman
   * Added support for <attributeGroup>.
   *
   * Revision 1.7  2001/07/24 18:33:46  knoaman
   * Added support for <group> + extra constraint checking for complexType
   *
   * Revision 1.6  2001/06/25 12:51:57  knoaman
   * Add constraint checking on elements in complex types to prevent same
   * element names from having different definitions - use substitueGroups.
   *
   * Revision 1.5  2001/05/28 20:56:19  tng
   * Schema: Move getTargetNamespace as virtual function in base class Grammar
   *
   * Revision 1.4  2001/05/11 13:27:36  tng
   * Copyright update.
   *
   * Revision 1.3  2001/05/03 20:34:43  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.2  2001/04/19 17:43:19  knoaman
   * More schema implementation classes.
   *
   * Revision 1.1  2001/03/21 21:56:33  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  
  #if !defined(SCHEMAGRAMMAR_HPP)
  #define SCHEMAGRAMMAR_HPP
  
  #include <framework/XMLNotationDecl.hpp>
  #include <util/RefHash3KeysIdPool.hpp>
  #include <util/NameIdPool.hpp>
  #include <util/StringPool.hpp>
  #include <validators/common/Grammar.hpp>
  #include <validators/schema/SchemaElementDecl.hpp>
  #include <util/ValueVectorOf.hpp>
  
  //
  // This class stores the Schema information
  //  NOTE: Schemas are not namespace aware, so we just use regular NameIdPool
  //  data structures to store element and attribute decls. They are all set
  //  to be in the global namespace and the full QName is used as the base name
  //  of the decl. This means that all the URI parameters below are expected
  //  to be null pointers (and anything else will cause an exception.)
  //
  
  // ---------------------------------------------------------------------------
  //  Forward Declarations
  // ---------------------------------------------------------------------------
  class DatatypeValidatorFactory;
  class ComplexTypeInfo;
  class NamespaceScope;
  class XercesGroupInfo;
  class XercesAttGroupInfo;
  
  // ---------------------------------------------------------------------------
  //  typedef declaration
  // ---------------------------------------------------------------------------
  typedef ValueVectorOf<SchemaElementDecl*> ElemVector;
  
  
  class VALIDATORS_EXPORT SchemaGrammar : public Grammar
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      SchemaGrammar();
      virtual ~SchemaGrammar();
  
      // -----------------------------------------------------------------------
      //  Implementation of Virtual Interface
      // -----------------------------------------------------------------------
      virtual Grammar::GrammarType getGrammarType();
      virtual const XMLCh* getTargetNamespace() const;
  
      virtual XMLElementDecl* findOrAddElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
          ,       bool&           wasAdded
      ) ;
  
      virtual unsigned int getElemId
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const ;
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      )   const ;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    qName
          , unsigned int          scope
      );
  
      virtual const XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      )   const;
  
      virtual XMLElementDecl* getElemDecl
      (
          const   unsigned int    elemId
      );
  
      virtual const XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      )   const;
  
      virtual XMLNotationDecl* getNotationDecl
      (
          const   XMLCh* const    notName
      );
  
      virtual XMLElementDecl* putElemDecl
      (
          const   unsigned int    uriId
          , const XMLCh* const    baseName
          , const XMLCh* const    prefixName
          , const XMLCh* const    qName
          , unsigned int          scope
      );
  
      virtual unsigned int putElemDecl
      (
          XMLElementDecl* const elemDecl
      )   const;
  
      virtual unsigned int putNotationDecl
      (
          XMLNotationDecl* const notationDecl
      )   const;
  
      virtual void reset();
  
      // -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      RefHash3KeysIdPoolEnumerator<SchemaElementDecl> getElemEnumerator() const;
      RefHashTableOf<XMLAttDef>* getAttributeDeclRegistry() const;
      RefHashTableOf<ComplexTypeInfo>* getComplexTypeRegistry() const;
      RefHashTableOf<XercesGroupInfo>* getGroupInfoRegistry() const;
      RefHashTableOf<XercesAttGroupInfo>* getAttGroupInfoRegistry() const;
      DatatypeValidatorFactory* getDatatypeRegistry() const;
      NamespaceScope* getNamespaceScope() const;
      RefHash2KeysTableOf<ElemVector>* getValidSubstitutionGroups() const;
      bool getUPAChecked() const;
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setTargetNamespace(const XMLCh* const targetNamespace);
      void setAttributeDeclRegistry(RefHashTableOf<XMLAttDef>* const attReg);
      void setComplexTypeRegistry(RefHashTableOf<ComplexTypeInfo>* const other);
      void setGroupInfoRegistry(RefHashTableOf<XercesGroupInfo>* const other);
      void setAttGroupInfoRegistry(RefHashTableOf<XercesAttGroupInfo>* const other);
      void setDatatypeRegistry(DatatypeValidatorFactory* const dvRegistry);
      void setNamespaceScope(NamespaceScope* const nsScope);
      void setValidSubstitutionGroups(RefHash2KeysTableOf<ElemVector>* const);
      void setUPAChecked(bool newState);
  
      // -----------------------------------------------------------------------
      //  Helper methods
      // -----------------------------------------------------------------------
      unsigned int putGroupElemDecl
      (
          XMLElementDecl* const elemDecl
      )   const;
  
  private:
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //  fElemDeclPool
      //      This is the element decl pool. It contains all of the elements
      //      declared in the Schema (and their associated attributes.) When in
      //      non-validating mode, its just populated as new elements are seen
      //      and they are given default characteristics.
      //
      //  fGroupElemDeclPool
      //      This is the element decl pool for elements in a group that are
      //      referenced in different scope. It contains all of the elements
      //      declared in the Schema (and their associated attributes.)
      //
      //  fNotationDeclPool
      //      This is a pool of NotationDecl objects, which contains all of the
      //      notations declared in the Schema.
      //
      //  fTargetNamespace
      //      Target name space for this grammar.
      //
      //  fAttributeDeclRegistry
      //      Global attribute declarations
      //
      //  fComplexTypeRegistry
      //      Stores complexType declaration info
      //
      //  fGroupInfoRegistry
      //      Stores global <group> declaration info
      //
      //  fAttGroupInfoRegistry
      //      Stores global <attributeGroup> declaration info
      //
      //  fDatatypeRegistry
      //      Datatype validator factory
      //
      //  fNamespaceScope
      //      Prefix to Namespace map
      //
      //  fValidSubstitutionGroups
      //      Valid list of elements that can substitute a given element
      //
      //  fUPAChecked
      //      Indicates if this Grammar has already been validated for
      //      schema unique particle attribute constraint checking.
      // -----------------------------------------------------------------------
      XMLCh*                                 fTargetNamespace;
      RefHash3KeysIdPool<SchemaElementDecl>* fElemDeclPool;
      RefHash3KeysIdPool<SchemaElementDecl>* fGroupElemDeclPool;
      NameIdPool<XMLNotationDecl>*           fNotationDeclPool;
      RefHashTableOf<XMLAttDef>*             fAttributeDeclRegistry;
      RefHashTableOf<ComplexTypeInfo>*       fComplexTypeRegistry;
      RefHashTableOf<XercesGroupInfo>*       fGroupInfoRegistry;
      RefHashTableOf<XercesAttGroupInfo>*    fAttGroupInfoRegistry;
      DatatypeValidatorFactory*              fDatatypeRegistry;
      NamespaceScope*                        fNamespaceScope;
      RefHash2KeysTableOf<ElemVector>*       fValidSubstitutionGroups;
      bool                                   fUPAChecked;
  };
  
  
  // ---------------------------------------------------------------------------
  //  SchemaGrammar: Getter methods
  // ---------------------------------------------------------------------------
  inline RefHash3KeysIdPoolEnumerator<SchemaElementDecl>
  SchemaGrammar::getElemEnumerator() const
  {
      return RefHash3KeysIdPoolEnumerator<SchemaElementDecl>(fElemDeclPool);
  }
  
  inline RefHashTableOf<XMLAttDef>* SchemaGrammar::getAttributeDeclRegistry() const {
  
      return fAttributeDeclRegistry;
  }
  
  inline RefHashTableOf<ComplexTypeInfo>*
  SchemaGrammar::getComplexTypeRegistry() const {
  
      return fComplexTypeRegistry;
  }
  
  inline RefHashTableOf<XercesGroupInfo>*
  SchemaGrammar::getGroupInfoRegistry() const {
  
      return fGroupInfoRegistry;
  }
  
  inline RefHashTableOf<XercesAttGroupInfo>*
  SchemaGrammar::getAttGroupInfoRegistry() const {
  
      return fAttGroupInfoRegistry;
  }
  
  inline DatatypeValidatorFactory* SchemaGrammar::getDatatypeRegistry() const {
  
      return fDatatypeRegistry;
  }
  
  inline NamespaceScope* SchemaGrammar::getNamespaceScope() const {
  
      return fNamespaceScope;
  }
  
  inline RefHash2KeysTableOf<ElemVector>*
  SchemaGrammar::getValidSubstitutionGroups() const {
  
      return fValidSubstitutionGroups;
  }
  
  inline bool SchemaGrammar::getUPAChecked() const {
      return fUPAChecked;
  }
  
  // -----------------------------------------------------------------------
  //  Setter methods
  // -----------------------------------------------------------------------
  inline void SchemaGrammar::setTargetNamespace(const XMLCh* const targetNamespace) {
      delete [] fTargetNamespace;
      fTargetNamespace = XMLString::replicate(targetNamespace);
  }
  
  inline void
  SchemaGrammar::setAttributeDeclRegistry(RefHashTableOf<XMLAttDef>* const attReg) {
  
      fAttributeDeclRegistry = attReg;
  }
  
  inline void
  SchemaGrammar::setComplexTypeRegistry(RefHashTableOf<ComplexTypeInfo>* const other) {
  
      fComplexTypeRegistry = other;
  }
  
  inline void
  SchemaGrammar::setGroupInfoRegistry(RefHashTableOf<XercesGroupInfo>* const other) {
  
      fGroupInfoRegistry = other;
  }
  
  inline void
  SchemaGrammar::setAttGroupInfoRegistry(RefHashTableOf<XercesAttGroupInfo>* const other) {
  
      fAttGroupInfoRegistry = other;
  }
  
  inline void
  SchemaGrammar::setDatatypeRegistry(DatatypeValidatorFactory* const dvRegistry) {
  
      fDatatypeRegistry = dvRegistry;
  }
  
  inline void SchemaGrammar::setNamespaceScope(NamespaceScope* const nsScope) {
  
      fNamespaceScope = nsScope;
  }
  
  inline void
  SchemaGrammar::setValidSubstitutionGroups(RefHash2KeysTableOf<ElemVector>* const other) {
  
      fValidSubstitutionGroups = other;
  }
  
  inline void SchemaGrammar::setUPAChecked(bool newState) {
      fUPAChecked = newState;
  }
  
  // ---------------------------------------------------------------------------
  //  SchemaGrammar: Virtual methods
  // ---------------------------------------------------------------------------
  inline Grammar::GrammarType SchemaGrammar::getGrammarType() {
      return Grammar::SchemaGrammarType;
  }
  
  inline const XMLCh* SchemaGrammar::getTargetNamespace() const {
      return fTargetNamespace;
  }
  
  // Element Decl
  inline unsigned int SchemaGrammar::getElemId (const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope ) const
  {
      //
      //  In this case, we don't return zero to mean 'not found', so we have to
      //  map it to the official not found value if we don't find it.
      //
      const SchemaElementDecl* decl = fElemDeclPool->getByKey(baseName, uriId, scope);
      if (!decl) {
  
          decl = fGroupElemDeclPool->getByKey(baseName, uriId, scope);
  
          if (!decl)
              return XMLElementDecl::fgInvalidElemId;
      }
      return decl->getId();
  }
  
  inline const XMLElementDecl* SchemaGrammar::getElemDecl( const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope )   const
  {
      const SchemaElementDecl* decl = fElemDeclPool->getByKey(baseName, uriId, scope);
  
      if (!decl)
          decl = fGroupElemDeclPool->getByKey(baseName, uriId, scope);
  
      return decl;
  }
  
  inline XMLElementDecl* SchemaGrammar::getElemDecl (const   unsigned int  uriId
                                                , const XMLCh* const    baseName
                                                , const XMLCh* const    qName
                                                , unsigned int          scope )
  {
      SchemaElementDecl* decl = fElemDeclPool->getByKey(baseName, uriId, scope);
  
      if (!decl)
          decl = fGroupElemDeclPool->getByKey(baseName, uriId, scope);
  
      return decl;
  }
  
  inline const XMLElementDecl* SchemaGrammar::getElemDecl(const unsigned int elemId) const
  {
      // Look up this element decl by id
      const SchemaElementDecl* decl = fElemDeclPool->getById(elemId);
  
      if (!decl)
          decl = fGroupElemDeclPool->getById(elemId);
  
      return decl;
  }
  
  inline XMLElementDecl* SchemaGrammar::getElemDecl(const unsigned int elemId)
  {
      // Look up this element decl by id
      SchemaElementDecl* decl = fElemDeclPool->getById(elemId);
  
      if (!decl)
          decl = fGroupElemDeclPool->getById(elemId);
  
      return decl;
  }
  
  inline unsigned int SchemaGrammar::putElemDecl (XMLElementDecl* const elemDecl)   const
  {
      return fElemDeclPool->put(elemDecl->getBaseName(), elemDecl->getURI(), ((SchemaElementDecl* )elemDecl)->getEnclosingScope(), (SchemaElementDecl*) elemDecl);
  }
  
  inline unsigned int SchemaGrammar::putGroupElemDecl (XMLElementDecl* const elemDecl)   const
  {
      return fGroupElemDeclPool->put(elemDecl->getBaseName(), elemDecl->getURI(), ((SchemaElementDecl* )elemDecl)->getEnclosingScope(), (SchemaElementDecl*) elemDecl);
  }
  
  // Notation Decl
  inline const XMLNotationDecl* SchemaGrammar::getNotationDecl(const XMLCh* const notName) const
  {
      return fNotationDeclPool->getByKey(notName);
  }
  
  inline XMLNotationDecl* SchemaGrammar::getNotationDecl(const XMLCh* const notName)
  {
      return fNotationDeclPool->getByKey(notName);
  }
  
  inline unsigned int SchemaGrammar::putNotationDecl(XMLNotationDecl* const notationDecl)   const
  {
      return fNotationDeclPool->put(notationDecl);
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaInfo.hpp
  
  Index: SchemaInfo.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: SchemaInfo.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(SCHEMAINFO_HPP)
  #define SCHEMAINFO_HPP
  
  
  /** When in a <redefine>, type definitions being used (and indeed
    * refs to <group>'s and <attributeGroup>'s) may refer to info
    * items either in the schema being redefined, in the <redefine>,
    * or else in the schema doing the redefining.  Because of this
    * latter we have to be prepared sometimes to look for our type
    * definitions outside the schema stored in fSchemaRootElement.
    * This simple class does this; it's just a linked list that
    * lets us look at the <schema>'s on the queue; note also that this
    * should provide us with a mechanism to handle nested <redefine>'s.
    * It's also a handy way of saving schema info when importing/including.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <dom/DOM_Element.hpp>
  #include <util/RefVectorOf.hpp>
  #include <util/RefHash2KeysTableOf.hpp>
  #include <util/StringPool.hpp>
  
  class SchemaInfo
  {
  public:
  
      enum ListType {
          // Redefine is treated as an include
          IMPORT = 1,
          INCLUDE = 2
      };
  
      // -----------------------------------------------------------------------
      //  Constructor/Destructor
      // -----------------------------------------------------------------------
      SchemaInfo(const unsigned short fElemAttrDefaultQualified,
                 const int blockDefault,
                 const int finalDefault,
                 const int targetNSURI,
                 const int currentScope,
                 const int scopeCount,
                 const unsigned int namespaceScopeLevel,
                 XMLCh* const schemaURL,
                 const XMLCh* const targetNSURIString,
                 XMLStringPool* const stringPool,
                 const DOM_Element& root);
      ~SchemaInfo();
  
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      XMLCh*                   getCurrentSchemaURL() const;
      const XMLCh* const       getTargetNSURIString() const;
      DOM_Element              getRoot() const;
      int                      getBlockDefault() const;
      int                      getFinalDefault() const;
      int                      getTargetNSURI() const;
      int                      getCurrentScope() const;
      int                      getScopeCount() const;
      unsigned int             getNamespaceScopeLevel() const;
      unsigned short           getElemAttrDefaultQualified() const;
      RefVectorEnumerator<SchemaInfo> getImportingListEnumerator() const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setCurrentScope(const int aValue);
      void setScopeCount(const int aValue);
      
  	// -----------------------------------------------------------------------
      //  Access methods
      // -----------------------------------------------------------------------
      void addSchemaInfo(SchemaInfo* const toAdd, const ListType aListType);
      void addRedefineInfo(const XMLCh* const categName, const XMLCh* const typeName,
                           SchemaInfo* const toAdd);
      bool containsInfo(const SchemaInfo* const toCheck, const ListType aListType) const;
      SchemaInfo* getImportInfo(const unsigned int namespaceURI) const;
      SchemaInfo* getRedefInfo(const XMLCh* const categName,
                               const XMLCh* const typeName);
      DOM_Element getTopLevelComponent(const XMLCh* const compCategory,
                                       const XMLCh* const name);
      DOM_Element getTopLevelComponent(const XMLCh* const compCategory,
                                       const XMLCh* const name,
                                       SchemaInfo** enclosingSchema);
      void updateImportingInfo(SchemaInfo* const importingInfo);
      bool circularImportExist(const unsigned int nameSpaceURI);
  
  private:
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      unsigned short     fElemAttrDefaultQualified;
      int                fBlockDefault;
      int                fFinalDefault;
      int                fTargetNSURI;
      int                fCurrentScope;
      int                fScopeCount;
      unsigned int       fNamespaceScopeLevel;
      XMLCh*             fCurrentSchemaURL;
      const XMLCh*       fTargetNSURIString;
      XMLStringPool*     fStringPool;
      DOM_Element        fSchemaRootElement;
      RefVectorOf<SchemaInfo>* fIncludeList;
      RefVectorOf<SchemaInfo>* fImportList;
      RefVectorOf<SchemaInfo>* fImportingList;
      RefHash2KeysTableOf<SchemaInfo>* fRedefineList;
  };
  
  // ---------------------------------------------------------------------------
  //  SchemaInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned short SchemaInfo::getElemAttrDefaultQualified() const {
  
      return fElemAttrDefaultQualified;
  }
  
  inline int SchemaInfo::getBlockDefault() const {
  
      return fBlockDefault;
  }
  
  inline int SchemaInfo::getFinalDefault() const {
  
      return fFinalDefault;
  }
  
  inline unsigned int SchemaInfo::getNamespaceScopeLevel() const {
      return fNamespaceScopeLevel;
  }
  
  inline XMLCh* SchemaInfo::getCurrentSchemaURL() const {
  
      return fCurrentSchemaURL;
  }
  
  inline const XMLCh* const SchemaInfo::getTargetNSURIString() const {
  
      return fTargetNSURIString;
  }
  
  inline DOM_Element SchemaInfo::getRoot() const {
  
      return fSchemaRootElement;
  }
  
  inline int SchemaInfo::getTargetNSURI() const {
  
      return fTargetNSURI;
  }
  
  inline int SchemaInfo::getCurrentScope() const {
  
      return fCurrentScope;
  }
  
  inline int SchemaInfo::getScopeCount() const {
  
      return fScopeCount;
  }
  
  inline RefVectorEnumerator<SchemaInfo>
  SchemaInfo::getImportingListEnumerator() const {
  
      return RefVectorEnumerator<SchemaInfo>(fImportingList);
  }
  
  // ---------------------------------------------------------------------------
  //  Setter methods
  // ---------------------------------------------------------------------------
  inline void SchemaInfo::setCurrentScope(const int aValue) {
  
      fCurrentScope = aValue;
  }
  
  inline void SchemaInfo::setScopeCount(const int aValue) {
  
      fScopeCount = aValue;
  }
  
  // ---------------------------------------------------------------------------
  //  SchemaInfo: Access methods
  // ---------------------------------------------------------------------------
  inline void SchemaInfo::addSchemaInfo(SchemaInfo* const toAdd,
                                        const ListType aListType) {
  
      if (aListType == IMPORT) {
  
          if (!fImportList)
              fImportList = new RefVectorOf<SchemaInfo>(8, false);
  
          if (!fImportList->containsElement(toAdd)) {
  		    fImportList->addElement(toAdd);
              toAdd->updateImportingInfo(this);
          }
      }
      else {
  
          if (!fIncludeList)
              fIncludeList = new RefVectorOf<SchemaInfo>(8, false);
  
          if (!fIncludeList->containsElement(toAdd))
  		    fIncludeList->addElement(toAdd);
      }
  }
  
  inline void SchemaInfo::addRedefineInfo(const XMLCh* const categName,
                                          const XMLCh* const typeName,
                                          SchemaInfo* const toAdd) {
  
      if (!fRedefineList) {
          fRedefineList = new RefHash2KeysTableOf<SchemaInfo>(8, false);
      }
  
      fRedefineList->put((void*) categName, fStringPool->addOrFind(typeName), toAdd);
  }
  
  inline SchemaInfo* SchemaInfo::getImportInfo(const unsigned int namespaceURI) const {
  
      unsigned int importSize = (fImportList) ? fImportList->size() : 0;
      SchemaInfo* currInfo = 0;
  
      for (unsigned int i=0; i < importSize; i++) {
  
          currInfo = fImportList->elementAt(i);
  
          if (currInfo->getTargetNSURI() == (int) namespaceURI)
              break;
      }
  
      return currInfo;
  }
  
  inline SchemaInfo* SchemaInfo::getRedefInfo(const XMLCh* const categName,
                                              const XMLCh* const typeName) {
  
      if (fRedefineList) {
          return fRedefineList->get(categName, fStringPool->addOrFind(typeName));
      }
  
      return 0;
  }
  
  inline bool SchemaInfo::containsInfo(const SchemaInfo* const toCheck,
                                       const ListType aListType) const {
  
      if ((aListType == INCLUDE) && fIncludeList) {
          return fIncludeList->containsElement(toCheck);        
      }
      else if ((aListType == IMPORT) && fImportList) {
          return fImportList->containsElement(toCheck);
      }
  
      return false;
  }
  
  inline bool SchemaInfo::circularImportExist(const unsigned int namespaceURI) {
  
      unsigned int importSize = fImportingList->size();
  
      for (unsigned int i=0; i < importSize; i++) {
          if (fImportingList->elementAt(i)->getTargetNSURI() == (int) namespaceURI) {
              return true;
          }
      }
  
      return false;
  }
  
  #endif
  
  /**
    * End of file SchemaInfo.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaSymbols.hpp
  
  Index: SchemaSymbols.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: SchemaSymbols.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(SCHEMASYMBOLS_HPP)
  #define SCHEMASYMBOLS_HPP
  
  #include <util/XercesDefs.hpp>
  
  /*
   * Collection of symbols used to parse a Schema Grammar
   */
  
  class VALIDATORS_EXPORT SchemaSymbols
  {
  public :
      // -----------------------------------------------------------------------
      // Constant data
      // -----------------------------------------------------------------------
      static const XMLCh fgURI_XSI[];
      static const XMLCh fgURI_SCHEMAFORSCHEMA[];
      static const XMLCh fgXSI_SCHEMALOCACTION[];
      static const XMLCh fgXSI_NONAMESPACESCHEMALOCACTION[];
      static const XMLCh fgXSI_TYPE[];
      static const XMLCh fgELT_ALL[];
      static const XMLCh fgELT_ANNOTATION[];
      static const XMLCh fgELT_ANY[];
      static const XMLCh fgELT_WILDCARD[];
      static const XMLCh fgELT_ANYATTRIBUTE[];
      static const XMLCh fgELT_APPINFO[];
      static const XMLCh fgELT_ATTRIBUTE[];
      static const XMLCh fgELT_ATTRIBUTEGROUP[];
      static const XMLCh fgELT_CHOICE[];
      static const XMLCh fgELT_COMPLEXTYPE[];
      static const XMLCh fgELT_CONTENT[];
      static const XMLCh fgELT_DOCUMENTATION[];
      static const XMLCh fgELT_DURATION[];
      static const XMLCh fgELT_ELEMENT[];
      static const XMLCh fgELT_ENCODING[];
      static const XMLCh fgELT_ENUMERATION[];
      static const XMLCh fgELT_FIELD[];
      static const XMLCh fgELT_WHITESPACE[];
      static const XMLCh fgELT_GROUP[];
      static const XMLCh fgELT_IMPORT[];
      static const XMLCh fgELT_INCLUDE[];
      static const XMLCh fgELT_REDEFINE[];
      static const XMLCh fgELT_KEY[];
      static const XMLCh fgELT_KEYREF[];
      static const XMLCh fgELT_LENGTH[];
      static const XMLCh fgELT_MAXEXCLUSIVE[];
      static const XMLCh fgELT_MAXINCLUSIVE[];
      static const XMLCh fgELT_MAXLENGTH[];
      static const XMLCh fgELT_MINEXCLUSIVE[];
      static const XMLCh fgELT_MININCLUSIVE[];
      static const XMLCh fgELT_MINLENGTH[];
      static const XMLCh fgELT_NOTATION[];
      static const XMLCh fgELT_PATTERN[];
      static const XMLCh fgELT_PERIOD[];
      static const XMLCh fgELT_TOTALDIGITS[];
      static const XMLCh fgELT_FRACTIONDIGITS[];
      static const XMLCh fgELT_SCHEMA[];
      static const XMLCh fgELT_SELECTOR[];
      static const XMLCh fgELT_SEQUENCE[];
      static const XMLCh fgELT_SIMPLETYPE[];
      static const XMLCh fgELT_UNION[];
      static const XMLCh fgELT_LIST[];
      static const XMLCh fgELT_UNIQUE[];
      static const XMLCh fgELT_COMPLEXCONTENT[];
      static const XMLCh fgELT_SIMPLECONTENT[];
      static const XMLCh fgELT_RESTRICTION[];
      static const XMLCh fgELT_EXTENSION[];
      static const XMLCh fgATT_ABSTRACT[];
      static const XMLCh fgATT_ATTRIBUTEFORMDEFAULT[];
      static const XMLCh fgATT_BASE[];
      static const XMLCh fgATT_ITEMTYPE[];
      static const XMLCh fgATT_MEMBERTYPES[];
      static const XMLCh fgATT_BLOCK[];
      static const XMLCh fgATT_BLOCKDEFAULT[];
      static const XMLCh fgATT_CONTENT[];
      static const XMLCh fgATT_DEFAULT[];
      static const XMLCh fgATT_DERIVEDBY[];
      static const XMLCh fgATT_ELEMENTFORMDEFAULT[];
      static const XMLCh fgATT_SUBSTITUTIONGROUP[];
      static const XMLCh fgATT_FINAL[];
      static const XMLCh fgATT_FINALDEFAULT[];
      static const XMLCh fgATT_FIXED[];
      static const XMLCh fgATT_FORM[];
      static const XMLCh fgATT_ID[];
      static const XMLCh fgATT_MAXOCCURS[];
      static const XMLCh fgATT_MINOCCURS[];
      static const XMLCh fgATT_NAME[];
      static const XMLCh fgATT_NAMESPACE[];
      static const XMLCh fgATT_NILL[];
      static const XMLCh fgATT_NILLABLE[];
      static const XMLCh fgATT_PROCESSCONTENTS[];
      static const XMLCh fgATT_REF[];
      static const XMLCh fgATT_REFER[];
      static const XMLCh fgATT_SCHEMALOCATION[];
      static const XMLCh fgATT_SOURCE[];
      static const XMLCh fgATT_SYSTEM[];
      static const XMLCh fgATT_PUBLIC[];
      static const XMLCh fgATT_TARGETNAMESPACE[];
      static const XMLCh fgATT_TYPE[];
      static const XMLCh fgATT_USE[];
      static const XMLCh fgATT_VALUE[];
      static const XMLCh fgATT_MIXED[];
      static const XMLCh fgATT_VERSION[];
      static const XMLCh fgATT_XPATH[];
      static const XMLCh fgATTVAL_TWOPOUNDANY[];
      static const XMLCh fgATTVAL_TWOPOUNDLOCAL[];
      static const XMLCh fgATTVAL_TWOPOUNDOTHER[];
      static const XMLCh fgATTVAL_TWOPOUNDTRAGETNAMESPACE[];
      static const XMLCh fgATTVAL_POUNDALL[];
      static const XMLCh fgATTVAL_BASE64[];
      static const XMLCh fgATTVAL_BOOLEAN[];
      static const XMLCh fgATTVAL_DEFAULT[];
      static const XMLCh fgATTVAL_ELEMENTONLY[];
      static const XMLCh fgATTVAL_EMPTY[];
      static const XMLCh fgATTVAL_EXTENSION[];
      static const XMLCh fgATTVAL_FALSE[];
      static const XMLCh fgATTVAL_FIXED[];
      static const XMLCh fgATTVAL_HEX[];
      static const XMLCh fgATTVAL_ID[];
      static const XMLCh fgATTVAL_LAX[];
      static const XMLCh fgATTVAL_MAXLENGTH[];
      static const XMLCh fgATTVAL_MINLENGTH[];
      static const XMLCh fgATTVAL_MIXED[];
      static const XMLCh fgATTVAL_NCNAME[];
      static const XMLCh fgATTVAL_OPTIONAL[];
      static const XMLCh fgATTVAL_PROHIBITED[];
      static const XMLCh fgATTVAL_QNAME[];
      static const XMLCh fgATTVAL_QUALIFIED[];
      static const XMLCh fgATTVAL_REQUIRED[];
      static const XMLCh fgATTVAL_RESTRICTION[];
      static const XMLCh fgATTVAL_SKIP[];
      static const XMLCh fgATTVAL_STRICT[];
      static const XMLCh fgATTVAL_STRING[];
      static const XMLCh fgATTVAL_TEXTONLY[];
      static const XMLCh fgATTVAL_TIMEDURATION[];
      static const XMLCh fgATTVAL_TRUE[];
      static const XMLCh fgATTVAL_UNQUALIFIED[];
      static const XMLCh fgATTVAL_URI[];
      static const XMLCh fgATTVAL_URIREFERENCE[];
      static const XMLCh fgATTVAL_SUBSTITUTIONGROUP[];
      static const XMLCh fgATTVAL_SUBSTITUTION[];
      static const XMLCh fgATTVAL_ANYTYPE[];
      static const XMLCh fgWS_PRESERVE[];
      static const XMLCh fgWS_COLLAPSE[];
      static const XMLCh fgWS_REPLACE[];
      static const XMLCh fgDT_STRING[];
      static const XMLCh fgDT_TOKEN[];
      static const XMLCh fgDT_LANGUAGE[];
      static const XMLCh fgDT_NAME[];
      static const XMLCh fgDT_NCNAME[];
      static const XMLCh fgDT_INTEGER[];
      static const XMLCh fgDT_DECIMAL[];
      static const XMLCh fgDT_BOOLEAN[];
      static const XMLCh fgDT_NONPOSITIVEINTEGER[];
      static const XMLCh fgDT_NEGATIVEINTEGER[];
      static const XMLCh fgDT_LONG[];
      static const XMLCh fgDT_INT[];
      static const XMLCh fgDT_SHORT[];
      static const XMLCh fgDT_BYTE[];
  	static const XMLCh fgDT_NONNEGATIVEINTEGER[];
      static const XMLCh fgDT_ULONG[];
      static const XMLCh fgDT_UINT[];
  	static const XMLCh fgDT_USHORT[];
  	static const XMLCh fgDT_UBYTE[];
      static const XMLCh fgDT_POSITIVEINTEGER[];
      static const XMLCh fgDT_RECURRINGDURATION[];
  	static const XMLCh fgDT_TIMEINSTANT[];
      static const XMLCh fgDT_TIMEPERIOD[];
      static const XMLCh fgDT_DATE[];
      static const XMLCh fgDT_MONTH[];
      static const XMLCh fgDT_YEAR[];
      static const XMLCh fgDT_CENTURY[];
      static const XMLCh fgDT_RECURRINGDATE[];
      static const XMLCh fgDT_TIMEDURATION[];
      static const XMLCh fgDT_BASE64BINARY[];
      static const XMLCh fgDT_HEXBINARY[];
      static const XMLCh fgDT_FLOAT[];
      static const XMLCh fgDT_DOUBLE[];
      static const XMLCh fgDT_URIREFERENCE[];
      static const XMLCh fgDT_ANYURI[];
      static const XMLCh fgDT_QNAME[];
      static const XMLCh fgDT_NORMALIZEDSTRING[];
      static const XMLCh fgDT_ANYSIMPLETYPE[];
      static const XMLCh fgRegEx_XOption[];
      static const XMLCh fgRedefIdentifier[];
      static const int   fgINT_MIN_VALUE;
      static const int   fgINT_MAX_VALUE;
  
      enum {
          EMPTY_SET = 0,
          SUBSTITUTION = 1,
          EXTENSION = 2,
          RESTRICTION = 4,
          LIST = 8,
          UNION = 16,
          ENUMERATION = 32
      };
  
      // group orders
      enum {
          CHOICE = 0,
          SEQUENCE= 1,
          ALL = 2
      };
  
      enum {
          INFINITY = -2,
          UNBOUNDED = -1,
          NILLABLE = 1,
          ABSTRACT = 2,
          FIXED = 4
      };
  
  };
  
  #endif
  
  /**
    * End of file SchemaSymbols.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SchemaValidator.hpp
  
  Index: SchemaValidator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: SchemaValidator.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.7  2001/06/05 16:51:21  knoaman
   * Add 'const' to getGrammar - submitted by Peter A. Volchek.
   *
   * Revision 1.6  2001/05/11 15:17:48  tng
   * Schema: Nillable fixes.
   *
   * Revision 1.5  2001/05/11 13:27:37  tng
   * Copyright update.
   *
   * Revision 1.4  2001/05/03 20:34:45  tng
   * Schema: SchemaValidator update
   *
   * Revision 1.3  2001/04/19 18:17:40  tng
   * Schema: SchemaValidator update, and use QName in Content Model
   *
   * Revision 1.2  2001/03/30 16:35:20  tng
   * Schema: Whitespace normalization.
   *
   * Revision 1.1  2001/03/21 21:56:33  tng
   * Schema: Add Schema Grammar, Schema Validator, and split the DTDValidator into DTDValidator, DTDScanner, and DTDGrammar.
   *
   */
  
  
  
  #if !defined(SCHEMAVALIDATOR_HPP)
  #define SCHEMAVALIDATOR_HPP
  
  #include <framework/XMLBuffer.hpp>
  #include <framework/XMLValidator.hpp>
  #include <util/RefVectorOf.hpp>
  #include <validators/common/GrammarResolver.hpp>
  #include <validators/datatype/DatatypeValidator.hpp>
  #include <validators/schema/SchemaElementDecl.hpp>
  #include <validators/schema/SchemaGrammar.hpp>
  
  //
  //  This is a derivative of the abstract validator interface. This class
  //  implements a validator that supports standard XML Schema semantics.
  //  This class handles scanning the of the schema, and provides
  //  the standard validation services against the Schema info it found.
  //
  class VALIDATORS_EXPORT SchemaValidator : public XMLValidator
  {
  public:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
      SchemaValidator(XMLErrorReporter* const errReporter = 0);
      virtual ~SchemaValidator();
  
      // -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setGrammarResolver(GrammarResolver* grammarResolver);
  
      void setXsiType(const XMLCh* const        prefix
        , const XMLCh* const        localPart
         , const unsigned int        uriId);
  
      void setNillable(bool isNil);
  
      // -----------------------------------------------------------------------
      //  Implementation of the XMLValidator interface
      // -----------------------------------------------------------------------
      virtual int checkContent
      (
          XMLElementDecl* const   elemDecl
          , QName** const         children
          , const unsigned int    childCount
      );
  
      virtual bool checkRootElement
      (
          const   unsigned int    elemId
      );
  
      virtual void faultInAttr
      (
                  XMLAttr&    toFill
          , const XMLAttDef&  attDef
      )   const;
  
      virtual void preContentValidation(bool reuseGrammar);
  
      virtual void postParseValidation();
  
      virtual void reset();
  
      virtual bool requiresNamespaces() const;
  
      virtual void validateAttrValue
      (
          const   XMLAttDef*                  attDef
          , const XMLCh* const                attrValue
      );
  
      virtual void validateElement
      (
          const   XMLElementDecl*             elemDef
      );
  
      virtual Grammar* getGrammar() const;
      virtual void setGrammar(Grammar* aGrammar);
  
      // -----------------------------------------------------------------------
      //  Virtual DTD handler interface.
      // -----------------------------------------------------------------------
      virtual bool handlesDTD() const;
  
      // -----------------------------------------------------------------------
      //  Virtual Schema handler interface. handlesSchema() always return false.
      // -----------------------------------------------------------------------
      virtual bool handlesSchema() const;
  
      // -----------------------------------------------------------------------
      //  Schema Validator methods
      // -----------------------------------------------------------------------
      void normalizeWhiteSpace(DatatypeValidator* dV, const XMLCh* const value, XMLBuffer& toFill);
  
  private:
      // -----------------------------------------------------------------------
      //  Private data members
      //
      // -----------------------------------------------------------------------
      //  The following comes from or set by the Scanner
      //  fSchemaGrammar
      //      The current schema grammar used by the validator
      //
      //  fGrammarResolver
      //      All the schema grammar stored
      //
      //  fXsiType
      //      Store the Schema Type Attribute Value if schema type is specified
      //
      //  fNil
      //      Indicates if Nillable has been set
      // -----------------------------------------------------------------------
      //  The following used internally in the validator
      //
      //  fXsiTypeValidator
      //      The validator used for xsi type validation
      //
      //  fDatatypeBuffer
      //      Buffer for simple type element string content
      //
      //  fTrailing
      //      Previous chunk had a trailing space
      // -----------------------------------------------------------------------
      SchemaGrammar* fSchemaGrammar;
      GrammarResolver* fGrammarResolver;
      QName* fXsiType;
      bool fNil;
  
      DatatypeValidator* fXsiTypeValidator;
  
      XMLBuffer fDatatypeBuffer;
      bool fTrailing;
  };
  
  
  // ---------------------------------------------------------------------------
  //  SchemaValidator: Setter methods
  // ---------------------------------------------------------------------------
  inline void SchemaValidator::setGrammarResolver(GrammarResolver* grammarResolver) {
      fGrammarResolver = grammarResolver;
  }
  
  inline void SchemaValidator::setXsiType(const XMLCh* const        prefix
        , const XMLCh* const        localPart
         , const unsigned int        uriId)
  {
      delete fXsiType;
      fXsiType = new QName(prefix, localPart, uriId);
  }
  
  inline void SchemaValidator::setNillable(bool isNil) {
      fNil = isNil;
  }
  
  // ---------------------------------------------------------------------------
  //  Virtual interface
  // ---------------------------------------------------------------------------
  inline Grammar* SchemaValidator::getGrammar() const {
      return fSchemaGrammar;
  }
  
  inline void SchemaValidator::setGrammar(Grammar* aGrammar) {
      fSchemaGrammar = (SchemaGrammar*) aGrammar;
  }
  
  // ---------------------------------------------------------------------------
  //  SchemaValidator: DTD handler interface
  // ---------------------------------------------------------------------------
  inline bool SchemaValidator::handlesDTD() const
  {
      // No DTD scanning
      return false;
  }
  
  // ---------------------------------------------------------------------------
  //  SchemaValidator: Schema handler interface
  // ---------------------------------------------------------------------------
  inline bool SchemaValidator::handlesSchema() const
  {
      return true;
  }
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/SubstitutionGroupComparator.hpp
  
  Index: SubstitutionGroupComparator.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: SubstitutionGroupComparator.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(SUBSTITUTIONGROUPCOMPARATOR_HPP)
  #define SUBSTITUTIONGROUPCOMPARATOR_HPP
  
  #include <util/StringPool.hpp>
  #include <util/QName.hpp>
  #include <validators/common/GrammarResolver.hpp>
  
  class VALIDATORS_EXPORT SubstitutionGroupComparator
  {
  public:
  
      // -----------------------------------------------------------------------
      //  Public Constructor
      // -----------------------------------------------------------------------
      /** @name Constructor. */
      //@{
  
      SubstitutionGroupComparator(GrammarResolver*  const pGrammarResolver
                                , XMLStringPool*    const pStringPool);
  
  
      //@}
  
      // -----------------------------------------------------------------------
      //  Public Destructor
      // -----------------------------------------------------------------------
      /** @name Destructor. */
      //@{
  
      ~SubstitutionGroupComparator();
  
      //@}
  
      // -----------------------------------------------------------------------
      // Validation methods
      // -----------------------------------------------------------------------
      /** @name Validation Function */
      //@{
  
      /**
  	   * Checks that the "anElement" is within the subsitution group.
  	   *
  	   * @param  anElement   QName of the element
  	   *
  	   * @param  exeplar     QName of the head element in the group
  	   */
      bool isEquivalentTo(QName* const anElement
                         , QName* const exemplar);
  	 //@}
  
      /*
       * check whether one element or any element in its substitution group
       * is allowed by a given wildcard uri
       *
       * @param element  the QName of a given element
       * @param wuri     the uri of the wildcard
       * @param wother   whether the uri is from ##other, so wuri is excluded
       *
       * @return whether the element is allowed by the wildcard
       */
      bool isAllowedByWildcard(QName* const element, unsigned int wuri, bool wother);
  
  protected:
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented Ctor
      // -----------------------------------------------------------------------
      SubstitutionGroupComparator();
  
      // -----------------------------------------------------------------------
      //  Private data members
      //
      //
      // -----------------------------------------------------------------------
      GrammarResolver     *fGrammarResolver;
      XMLStringPool       *fStringPool;
  
  };
  
  
  // ---------------------------------------------------------------------------
  //  SubstitutionGroupComparator: Getters
  // ---------------------------------------------------------------------------
  inline SubstitutionGroupComparator::SubstitutionGroupComparator(GrammarResolver*  const pGrammarResolver
                                                                , XMLStringPool*    const pStringPool)
  :fGrammarResolver(pGrammarResolver)
  ,fStringPool(pStringPool)
  {}
  
  inline SubstitutionGroupComparator::~SubstitutionGroupComparator()
  {}
  
  #endif
  
  /**
    * End of file SubstitutionGroupComparator.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/TraverseSchema.hpp
  
  Index: TraverseSchema.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: TraverseSchema.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(TRAVERSESCHEMA_HPP)
  #define TRAVERSESCHEMA_HPP
  
  /**
    * Instances of this class get delegated to Traverse the Schema and
    * to populate the SchemaGrammar internal representation.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/XMLUniDefs.hpp>
  #include <dom/DOM_Element.hpp>
  #include <framework/XMLBuffer.hpp>
  #include <validators/schema/SchemaSymbols.hpp>
  #include <util/ValueVectorOf.hpp>
  #include <util/RefHash2KeysTableOf.hpp>
  #include <validators/schema/SchemaGrammar.hpp>
  #include <validators/schema/SchemaInfo.hpp>
  
  // ---------------------------------------------------------------------------
  //  Forward Declarations
  // ---------------------------------------------------------------------------
  class GrammarResolver;
  class EntityResolver;
  class XMLValidator;
  class XMLScanner;
  class DatatypeValidator;
  class DatatypeValidatorFactory;
  class QName;
  class ComplexTypeInfo;
  class XMLAttDef;
  class ContentSpecNode;
  class NamespaceScope;
  class SchemaAttDef;
  class InputSource;
  class ErrorHandler;
  class GeneralAttributeCheck;
  class XercesGroupInfo;
  class XercesAttGroupInfo;
  
  
  class VALIDATORS_EXPORT TraverseSchema
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors/Destructor
      // -----------------------------------------------------------------------
      TraverseSchema
      (
            const DOM_Element&                 schemaRoot
          , XMLStringPool* const               uriStringPool
          , SchemaGrammar* const               schemaGrammar
          , GrammarResolver* const             grammarResolver
          , XMLScanner* const                  xmlScanner
          , XMLValidator* const                xmlValidator
          , const XMLCh* const                 schemaURL
          , EntityResolver* const              entityResolver
          , ErrorHandler* const                errorHandler
      );
  
      ~TraverseSchema();
  
  private:
     	// This enumeration is defined here for compatibility with the CodeWarrior
     	// compiler, which apparently doesn't like to accept default parameter
     	// arguments that it hasn't yet seen. The Not_All_Context argument is
     	// used in the declaration of checkMinMax, below.
     	//
      // Flags indicate any special restrictions on minOccurs and maxOccurs
      // relating to "all".
      //    Not_All_Context    - not processing an <all>
      //    All_Element        - processing an <element> in an <all>
      //    Group_Ref_With_All - processing <group> reference that contained <all>
      //    All_Group          - processing an <all> group itself
      enum
  	{
          Not_All_Context = 0
          , All_Element = 1
          , Group_Ref_With_All = 2
          , All_Group = 4
      };
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      TraverseSchema(const TraverseSchema&);
      void operator=(const TraverseSchema&);
  
      // -----------------------------------------------------------------------
      //  Init/CleanUp methods
      // -----------------------------------------------------------------------
      void init();
      void cleanUp();
  
      // -----------------------------------------------------------------------
      //  Traversal methods
      // -----------------------------------------------------------------------
      /**
        * Traverse the Schema DOM tree
        */
      void                doTraverseSchema(const DOM_Element& schemaRoot,
                                           const XMLCh* const schemaURL);
      void                traverseSchemaHeader(const DOM_Element& schemaRoot);
      void                traverseAnnotationDecl(const DOM_Element& childElem);
      void                traverseInclude(const DOM_Element& childElem);
      void                traverseImport(const DOM_Element& childElem);
      void                traverseRedefine(const DOM_Element& childElem);
      void                traverseAttributeDecl(const DOM_Element& childElem,
                                                ComplexTypeInfo* const typeInfo);
      void                traverseSimpleContentDecl(const XMLCh* const typeName,
                                                    const DOM_Element& contentDecl,
                                                    ComplexTypeInfo* const typeInfo);
      void                traverseComplexContentDecl(const XMLCh* const typeName,
                                                    const DOM_Element& contentDecl,
                                                    ComplexTypeInfo* const typeInfo,
                                                    const bool isMixed);
      int                 traverseSimpleTypeDecl(const DOM_Element& childElem,
                                                 int baseRefContext = SchemaSymbols::EMPTY_SET);
      int                 traverseComplexTypeDecl(const DOM_Element& childElem);
      int                 traverseByList(const DOM_Element& rootElem,
                                         const DOM_Element& contentElem,
                                         const int typeNameIndex,
                                         const int finalSet);
      int                 traverseByRestriction(const DOM_Element& rootElem,
                                                const DOM_Element& contentElem,
                                                const int typeNameIndex,
                                                const int finalSet);
      int                 traverseByUnion(const DOM_Element& rootElem,
                                          const DOM_Element& contentElem,
                                          const int typeNameIndex,
                                          const int finalSet,
                                          int baseRefContext);
      QName*              traverseElementDecl(const DOM_Element& childElem, bool& toDelete);
      const XMLCh*        traverseNotationDecl(const DOM_Element& childElem);
      const XMLCh*        traverseNotationDecl(const XMLCh* const name,
                                               const XMLCh* const uriStr);
      ContentSpecNode*    traverseChoiceSequence(const DOM_Element& elemDecl,
                                                 const int modelGroupType);
      ContentSpecNode*    traverseAny(const DOM_Element& anyDecl);
      ContentSpecNode*    traverseAll(const DOM_Element& allElem);
      XercesGroupInfo*    traverseGroupDecl(const DOM_Element& childElem);
      XercesAttGroupInfo* traverseAttributeGroupDecl(const DOM_Element& elem,
                                                      ComplexTypeInfo* const typeInfo);
      XercesAttGroupInfo* traverseAttributeGroupDeclNS(const XMLCh* const uriStr,
                                                       const XMLCh* const name);
      SchemaAttDef*       traverseAnyAttribute(const DOM_Element& elem);
  
      // -----------------------------------------------------------------------
      //  Error Reporting methods
      // -----------------------------------------------------------------------
      void reportSchemaError(const XMLCh* const msgDomain, const int errorCode);
      void reportSchemaError(const XMLCh* const msgDomain,
                             const int errorCode, 
                             const XMLCh* const text1,
                             const XMLCh* const text2 = 0,
                             const XMLCh* const text3 = 0,
                             const XMLCh* const text4 = 0);
  
      // -----------------------------------------------------------------------
      //  Private Helper methods
      // -----------------------------------------------------------------------
      /**
        * Retrived the Namespace mapping from the schema element
        */
      void retrieveNamespaceMapping(const DOM_Element& schemaRoot);
  
      /**
        * Loop through the children, and traverse the corresponding schema type
        * type declaration (simpleType, complexType, import, ....)
        */
      void processChildren(const DOM_Element& root);
  
      /**
        * Parameters:
        *   rootElem - top element for a given type declaration
        *   contentElem - content must be annotation? or some other simple content
        *   isEmpty: - true if (annotation?, smth_else), false if (annotation?) 
        *
        * Check for Annotation if it is present, traverse it. If a sibling is
        * found and it is not an annotation return it, otherwise return 0.
        * Used by traverseSimpleTypeDecl.
        */
      DOM_Element checkContent(const DOM_Element& rootElem, 
                               const DOM_Element& contentElem,
                               const bool isEmpty);
  
      /**
        * Parameters:
        *   contentElem - content element to check
        *
        * Check for identity constraints content.
        */
      DOM_Element checkIdentityConstraintContent(const DOM_Element& contentElem);
  
      DatatypeValidator* getDatatypeValidator(const XMLCh* const uriStr,
                                              const XMLCh* const localPartStr);
  
      /**
        * Return qualified name of a given type name index from the string pool
        * If a target name space exist, it is returned as part of the name
        *
        * The allocation will be handled internally, and the caller should not
        * delete the returned pointer.
        */
      XMLCh* getQualifiedName(const int typeNameIndex);
  
      /**
        * Process simpleType content of a list|restriction|union
        * Return a dataype validator if valid type, otherwise 0.
        */
      DatatypeValidator* checkForSimpleTypeValidator(const DOM_Element& content,
                                                     int baseRefContext = SchemaSymbols::EMPTY_SET);
  
      /**
        * Process complexType content of an element
        * Return a ComplexTypeInfo if valid type, otherwise 0.
        */
      ComplexTypeInfo* checkForComplexTypeInfo(const DOM_Element& content);
  
      /**
        * Return DatatypeValidator available for the baseTypeStr.
        */
      DatatypeValidator* findDTValidator(const DOM_Element& rootElem,
                                         const XMLCh* const baseTypeStr,
                                         const int baseRefContext);
  
      const XMLCh* resolvePrefixToURI(const XMLCh* const prefix);
  
      /**
        * Return whether an element is defined as a top level schema component
        * or not.
        */
      bool isTopLevelComponent(const DOM_Element& elem);
  
      /**
        * Return the prefix for a given rawname string
        *
        * Function allocated, caller managed (facm) - pointer to be deleted by
        * caller.
        */
      const XMLCh* getPrefix(const XMLCh* const rawName);
  
      /**
        * Return the local for a given rawname string
        *
        * caller allocated, caller managed (cacm)
        */
      const XMLCh* getLocalPart(const XMLCh* const rawName);
  
      /**
        * Process a 'ref' of an Element declaration
        */
      QName* processElementDeclRef(const DOM_Element& elem,
                                   const XMLCh* const refName,
                                   bool& toDelete);
  
      /**
        * Process a 'ref' of an Attribute declaration
        */
      void processAttributeDeclRef(const DOM_Element& elem,
                                   const DOM_Element& simpleTypeContent,
                                   ComplexTypeInfo* const typeInfo,
                                   const XMLCh* const refName,
                                   const XMLCh* const useVal);
  
      /**
        * Process a 'ref' on a group
        */
      XercesGroupInfo* processGroupRef(const DOM_Element& elem,
                                       const XMLCh* const refName);
  
      /**
        * Process a 'ref' on a attributeGroup
        */
      XercesAttGroupInfo* processAttributeGroupRef(const DOM_Element& elem,
                                                   const XMLCh* const refName,
                                                   ComplexTypeInfo* const typeInfo);
  
      /**
        * Parse block & final items
        */
      int parseBlockSet(const XMLCh* const blockStr, const int blockType);
      int parseFinalSet(const XMLCh* const finalStr, const int finalType);
  
      /**
        * Return true if a name is an identity constraint, otherwise false
        */
      bool isIdentityConstraintName(const XMLCh* const constraintName);
  
      /**
        * Check a 'ref' declaration representation constraint
        */
      bool isValidRefDeclaration(const DOM_Element& elem);
  
      /**
        * If 'typeStr' belongs to a different schema, return that schema URI,
        * otherwise return 0;
        */
      const XMLCh* checkTypeFromAnotherSchema(const XMLCh* const typeStr);
  
      /**
        * Return the datatype validator for a given element type attribute if
        * the type is a simple type
        */
      DatatypeValidator* getElementTypeValidator(const XMLCh* const typeStr,
                                                 bool& noErrorDetected,
                                                 const XMLCh* const otherSchemaURI,
                                                 bool errorCheck = false);
  
      /**
        * Return the complexType info for a given element type attribute if
        * the type is a complex type
        */
      ComplexTypeInfo* getElementComplexTypeInfo(const XMLCh* const typeStr,
                                                 bool& noErrorDetected,
                                                 const XMLCh* const otherSchemaURI);
  
      /**
        * Return schema element declaration for a given substituteGroup element
        * name
        */
      SchemaElementDecl* getSubstituteGroupElemDecl(const XMLCh* const name,
                                                    bool& noErrorDetected);
  
      /**
        * Check validity constraint of a substitutionGroup attribute in
        * an element declaration
        */
      bool isSubstitutionGroupValid(const SchemaElementDecl* const elemDecl,
                                    const ComplexTypeInfo* const typeInfo,
                                    const DatatypeValidator* const validator,
                                    const XMLCh* const elemName,
                                    const bool toEmit = true);
  
      /**
        * Create a 'SchemaElementDecl' object and add it to SchemaGrammar
        */
      SchemaElementDecl* createSchemaElementDecl(const DOM_Element& elem,
                                                 const bool topLevel,
                                                 const unsigned short elemType,
                                                 bool& isDuplicate,
                                                 const bool isFixedValue);
  
      /**
        * Return the value of a given attribute name from an element node
        */
      const XMLCh* getElementAttValue(const DOM_Element& elem,
                                      const XMLCh* const attName,
                                      const bool toTrim = false);
  
      void checkMinMax(ContentSpecNode* const specNode,
                       const DOM_Element& elem,
                       const int allContext = Not_All_Context);
  
      /**
        * Process complex content for a complexType
        */
      void processComplexContent(const XMLCh* const typeName,
                                 const DOM_Element& childElem,
                                 ComplexTypeInfo* const typeInfo,
                                 const XMLCh* const baseRawName,
                                 const XMLCh* const baseLocalPart,
                                 const XMLCh* const baseURI,
                                 const bool isMixed);
  
      /**
        * Process "base" information for a complexType
        */
      void processBaseTypeInfo(const XMLCh* const baseName,
                               const XMLCh* const localPart,
                               const XMLCh* const uriStr,
                               ComplexTypeInfo* const typeInfo);
  
      /**
        * Check if base is from another schema
        */
      bool isBaseFromAnotherSchema(const XMLCh* const baseURI);
  
      /**
        * Get complexType infp from another schema
        */
      ComplexTypeInfo* getTypeInfoFromNS(const XMLCh* const uriStr,
                                         const XMLCh* const localPart);
  
      /**
        * Returns true if 'name' is a valid facet for a given 'component',
        * otherwise false
        */
      bool isValidFacet(const XMLCh* const component, const XMLCh* const name);
  
      bool isAttrOrAttrGroup(const DOM_Element& elem);
  
      /**
        * Process attributes of a complex type
        */
      void processAttributes(const DOM_Element& elem,
                             const XMLCh* const baseRawName,
                             const XMLCh* const baseLocalPart,
                             const XMLCh* const baseURI,
                             ComplexTypeInfo* const typeInfo);
  
      /**
        * Generate a name for an anonymous type
        */
      const XMLCh* genAnonTypeName(const XMLCh* const prefix);
  
      void defaultComplexTypeInfo(ComplexTypeInfo* const typeInfo);
  
      /**
        * Resolve a schema location attribute value to an input source.
        * Caller to delete the returned object.
        */
      InputSource* resolveSchemaLocation(const XMLCh* const loc);
  
      void restoreSchemaInfo(SchemaInfo* const toRestore,
                             SchemaInfo::ListType const aListType = SchemaInfo::INCLUDE);
      int  resetCurrentTypeNameStack(const int);
  
      /**
        * Check whether a mixed content is emptiable or not.
        * Needed to validate element constraint values (defualt, fixed)
        */
      bool emptiableParticle(const ContentSpecNode* const specNode);
  
      /**
        * Used by emptiableMixedContent to get the 'particle'
        * minimum/maximum total range. 
        */
      int getMinTotalRange(const ContentSpecNode* const specNode);
      int getMaxTotalRange(const ContentSpecNode* const specNode);
  
  
      void checkFixedFacet(const DOM_Element&, const XMLCh* const,
                           const DatatypeValidator* const, unsigned int&);
      void checkRefElementConsistency();
      void buildValidSubstitutionListF(SchemaElementDecl* const,
                                       SchemaElementDecl* const);
      void buildValidSubstitutionListB(SchemaElementDecl* const,
                                       SchemaElementDecl* const);
  
      void checkEnumerationRequiredNotation(const XMLCh* const name,
                                            const XMLCh* const typeStr);
  
      bool hasAllContent(const ContentSpecNode* const specNode);
  
      void processElements(ComplexTypeInfo* const baseTypeInfo,
                           ComplexTypeInfo* const newTypeInfo);
  
      void copyGroupElements(XercesGroupInfo* const fromGroup,
                             XercesGroupInfo* const toGroup,
                             ComplexTypeInfo* const typeInfo);
  
      void copyAttGroupAttributes(XercesAttGroupInfo* const fromAttGroup,
                                  XercesAttGroupInfo* const toAttGroup,
                                  ComplexTypeInfo* const typeInfo);
  
      /**
        * Attribute wild card intersection.
        *
        * Note:
        *    The first parameter will be the result of the intersection, so 
        *    we need to make sure that first parameter is a copy of the
        *    actual attribute definition we need to intersect with.
        *
        *    What we need to wory about is: type, defaultType, namespace,
        *    and URI. All remaining data members should be the same.
        */
      void attWildCardIntersection(SchemaAttDef* const resultWildCart,
                                   const SchemaAttDef* const toCompareWildCard);
  
      /**
        * Attribute wild card union.
        *
        * Note:
        *    The first parameter will be the result of the union, so 
        *    we need to make sure that first parameter is a copy of the
        *    actual attribute definition we need to intersect with.
        *
        *    What we need to wory about is: type, defaultType, namespace,
        *    and URI. All remaining data members should be the same.
        */
      void attWildCardUnion(SchemaAttDef* const resultWildCart,
                            const SchemaAttDef* const toCompareWildCard);
  
      void copyWildCardData(const SchemaAttDef* const srcWildCard,
                            SchemaAttDef* const destWildCard);
  
      /**
        * Check that the attributes of a type derived by restriction satisfy
        * the constraints of derivation valid restriction
        */
      void checkAttDerivationOK(const ComplexTypeInfo* const baseTypeInfo,
                                const ComplexTypeInfo* const childTypeInfo);
  
      /**
        * Check whether a namespace value is valid with respect to wildcard
        * constraint
        */
      bool wildcardAllowsNamespace(const SchemaAttDef* const baseAttWildCard,
                                   const unsigned int nameURI);
  
      /**
        * Check whether a namespace constraint is an intensional subset of
        * another namespace constraint
        */
      bool isWildCardSubset(const SchemaAttDef* const baseAttWildCard,
                            const SchemaAttDef* const childAttWildCard);
  
      bool isAnyType(const XMLCh* const typeName);
  
      bool openRedefinedSchema(const DOM_Element& redefineElem);
  
      /**
        * The purpose of this method is twofold:
        * 1. To find and appropriately modify all information items
        * in redefinedSchema with names that are redefined by children of
        * redefineElem.
        * 2.  To make sure the redefine element represented by
        * redefineElem is valid as far as content goes and with regard to
        * properly referencing components to be redefined.
        *
        *	No traversing is done here!
        * This method also takes actions to find and, if necessary, modify
        * the names of elements in <redefine>'s in the schema that's being
        * redefined.
        */
      void renameRedefinedComponents(const DOM_Element& redefineElem,
                                     SchemaInfo* const redefiningSchemaInfo,
                                     SchemaInfo* const redefinedSchemaInfo);
  
      /**
        * This method returns true if the redefine component is valid, and if
        * it was possible to revise it correctly.
        */
      bool validateRedefineNameChange(const DOM_Element& redefineChildElem,
                                      const XMLCh* const redefineChildElemName,
                                      const XMLCh* const redefineChildDeclName,
                                      const int redefineNameCounter,
                                      SchemaInfo* const redefiningSchemaInfo);
  
  	/**
        * This function looks among the children of 'redefineChildElem' for a 
        * component of type 'redefineChildComponentName'. If it finds one, it
        * evaluates whether its ref attribute contains a reference to
        * 'refChildTypeName'. If it does, it returns 1 + the value returned by
        * calls to itself on all other children.  In all other cases it returns
        * 0 plus the sum of the values returned by calls to itself on 
        * redefineChildElem's children. It also resets the value of ref so that
        * it will refer to the renamed type from the schema being redefined.
        */
      int changeRedefineGroup(const DOM_Element& redefineChildElem,
                              const XMLCh* const redefineChildComponentName,
                              const XMLCh* const redefineChildTypeName,
                              const int redefineNameCounter);
  
      /** This simple function looks for the first occurrence of a
        * 'redefineChildTypeName' item in the redefined schema and appropriately
        * changes the value of its name. If it turns out that what we're looking
        * for is in a <redefine> though, then we just rename it--and it's
        * reference--to be the same.
        */
      void fixRedefinedSchema(SchemaInfo* const redefinedSchemaInfo,
                              const XMLCh* const redefineChildComponentName,
                              const XMLCh* const redefineChildTypeName,
                              const int redefineNameCounter);
  
      void getRedefineNewTypeName(const XMLCh* const oldTypeName,
                                  const int redefineCounter,
                                  XMLBuffer& newTypeName);
  
      /**
        * This purpose of this method is threefold:
        * 1. To extract the schema information of included/redefined schema.
        * 2. Rename redefined components.
        * 3. Process components of included/redefined schemas
        */
      void preprocessRedefineInclude(SchemaInfo* const currSchemaInfo);
  
      /**
        * Update the list of valid substitution groups in the case of circular
        * import.
        */
      void updateCircularSubstitutionList(SchemaInfo* const aSchemaInfo);
  
      // -----------------------------------------------------------------------
      //  Private constants
      // -----------------------------------------------------------------------
      enum
      {
          ES_Block
          , C_Block
          , S_Final
          , ECS_Final
      };
  
      enum ExceptionCodes
      {
          NoException = 0,
          InvalidComplexTypeInfo = 1
      };
  
      enum
      {
          Elem_Def_Qualified = 1,
          Attr_Def_Qualified = 2
      };
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      bool                                    fFullConstraintChecking;
      unsigned short                          fElemAttrDefaultQualified;
      int                                     fTargetNSURI;
      int                                     fEmptyNamespaceURI;
      int                                     fCurrentScope;
      int                                     fFinalDefault;
      int                                     fBlockDefault;
      int                                     fScopeCount;
      unsigned int                            fAnonXSTypeCount;
      const XMLCh*                            fTargetNSURIString;
      DatatypeValidatorFactory*               fDatatypeRegistry;
      GrammarResolver*                        fGrammarResolver;
      SchemaGrammar*                          fSchemaGrammar;
      EntityResolver*                         fEntityResolver;
      ErrorHandler*                           fErrorHandler;
      XMLStringPool*                          fURIStringPool;
      XMLStringPool*                          fStringPool;
      XMLBuffer                               fBuffer;
      XMLValidator*                           fValidator;
      XMLScanner*                             fScanner;
      NamespaceScope*                         fNamespaceScope;
      RefHashTableOf<XMLAttDef>*              fAttributeDeclRegistry;
      RefHashTableOf<ComplexTypeInfo>*        fComplexTypeRegistry;
      RefHashTableOf<XercesGroupInfo>*        fGroupRegistry;
      RefHashTableOf<XercesAttGroupInfo>*     fAttGroupRegistry;
      RefHashTableOf<SchemaInfo>*             fSchemaInfoList;
      SchemaInfo*                             fSchemaInfo;
      XercesGroupInfo*                        fCurrentGroupInfo;
      XercesAttGroupInfo*                     fCurrentAttGroupInfo;
      ComplexTypeInfo*                        fCurrentComplexType;
      ValueVectorOf<unsigned int>*            fCurrentTypeNameStack;
      ValueVectorOf<unsigned int>*            fCurrentGroupStack;
      GeneralAttributeCheck*                  fAttributeCheck;
      RefHash2KeysTableOf<XMLCh>*             fGlobalTypes;
      RefHash2KeysTableOf<XMLCh>*             fGlobalAttributes;
      RefHash2KeysTableOf<XMLCh>*             fGlobalGroups;
      RefHash2KeysTableOf<XMLCh>*             fGlobalAttGroups;
      RefHash2KeysTableOf<XMLCh>*             fNotationRegistry;
      RefHash2KeysTableOf<XMLCh>*             fRedefineComponents;
      RefHash2KeysTableOf<SchemaElementDecl>* fSubstitutionGroups;
      RefHash2KeysTableOf<ElemVector>*        fValidSubstitutionGroups;
      RefHash2KeysTableOf<ElemVector>*        fGrammarSubstitutionGroups;
      RefVectorOf<QName>*                     fRefElements;
      ValueVectorOf<int>*                     fRefElemScope;
  
      friend class GeneralAttributeCheck;
  };
  
  
  // ---------------------------------------------------------------------------
  //  TraverseSchema: Helper methods
  // ---------------------------------------------------------------------------
  inline const XMLCh* TraverseSchema::getPrefix(const XMLCh* const rawName) {
  
      int colonIndex = XMLString::indexOf(rawName, chColon);
  
      if (colonIndex == -1 || colonIndex == 0) {
          return XMLUni::fgZeroLenString;
      }
  
      fBuffer.set(rawName, colonIndex);
  
      return fStringPool->getValueForId(fStringPool->addOrFind(fBuffer.getRawBuffer()));
  }
  
  inline const XMLCh* TraverseSchema::getLocalPart(const XMLCh* const rawName) {
  
      int    colonIndex = XMLString::indexOf(rawName, chColon);
      int    rawNameLen = XMLString::stringLen(rawName);
  
      if (colonIndex + 1 == rawNameLen) {
          return XMLUni::fgZeroLenString;
      }
  
      if (colonIndex == -1) {
          fBuffer.set(rawName, rawNameLen);
      }
      else {
  
          fBuffer.set(rawName + colonIndex + 1, rawNameLen - colonIndex - 1);
      }
  
      return fStringPool->getValueForId(fStringPool->addOrFind(fBuffer.getRawBuffer()));
  }
  
  inline bool
  TraverseSchema::isValidRefDeclaration(const DOM_Element& elem) {
  
      return !(elem.getAttribute(SchemaSymbols::fgATT_ABSTRACT).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_NILLABLE).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_BLOCK).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_FINAL).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_TYPE).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_DEFAULT).length() != 0 
               || elem.getAttribute(SchemaSymbols::fgATT_FIXED).length() != 0
               || elem.getAttribute(SchemaSymbols::fgATT_SUBSTITUTIONGROUP).length() != 0);
  }
  
  inline
  const XMLCh* TraverseSchema::getElementAttValue(const DOM_Element& elem,
                                                  const XMLCh* const attName,
                                                  const bool toTrim) {
  
      DOMString attValue = elem.getAttribute(attName);
  
      if (attValue.length() > 0) {
  
          fBuffer.set(attValue.rawBuffer(), attValue.length());
          XMLCh* bufValue = fBuffer.getRawBuffer();
  
          if (toTrim) {
  
  			XMLString::trim(bufValue);
  
              if (!XMLString::stringLen(bufValue)) {
                  return 0;
              }
          }
  
          unsigned int elemId = fStringPool->addOrFind(bufValue);
          return fStringPool->getValueForId(elemId);  
      }
  
      return 0;
  }
  
  inline bool TraverseSchema::isBaseFromAnotherSchema(const XMLCh* const baseURI)
  {
      if (XMLString::compareString(baseURI,fTargetNSURIString) != 0
          && XMLString::compareString(baseURI, SchemaSymbols::fgURI_SCHEMAFORSCHEMA) != 0
          && XMLString::stringLen(baseURI) != 0) {
          //REVISIT, !!!! a hack: for schema that has no 
          //target namespace, e.g. personal-schema.xml
          return true;
      }
  
      return false;
  }
  
  inline bool TraverseSchema::isAttrOrAttrGroup(const DOM_Element& elem) {
  
      DOMString elementName = elem.getLocalName();
  
      if (elementName.equals(SchemaSymbols::fgELT_ATTRIBUTE) ||
          elementName.equals(SchemaSymbols::fgELT_ATTRIBUTEGROUP) ||
          elementName.equals(SchemaSymbols::fgELT_ANYATTRIBUTE)) {
          return true;
      }
  
      return false;
  }
  
  inline const XMLCh* TraverseSchema::genAnonTypeName(const XMLCh* const prefix) {
  
      XMLCh anonCountStr[16]; // a count of 15 digits should be enough
  
      XMLString::binToText(fAnonXSTypeCount++, anonCountStr, 15, 10);
      fBuffer.set(prefix);
      fBuffer.append(anonCountStr);
  
      return fStringPool->getValueForId(fStringPool->addOrFind(fBuffer.getRawBuffer()));
  }
  
  inline int TraverseSchema::resetCurrentTypeNameStack(const int value) {
  
      unsigned int stackSize = fCurrentTypeNameStack->size();
  
      if (stackSize != 0) {
          fCurrentTypeNameStack->removeElementAt(stackSize - 1);
      }
  
      return value;
  }
  
  inline void 
  TraverseSchema::copyWildCardData(const SchemaAttDef* const srcWildCard,
                                   SchemaAttDef* const destWildCard) {
  
      destWildCard->getAttName()->setURI(srcWildCard->getAttName()->getURI());
      destWildCard->setType(srcWildCard->getType());
      destWildCard->setDefaultType(srcWildCard->getDefaultType());
  }
  
  inline bool
  TraverseSchema::isAnyType(const XMLCh* const typeName) {
  
      const XMLCh* const localPart = getLocalPart(typeName);
      const XMLCh* const uri = resolvePrefixToURI(getPrefix(typeName));
  
      return (!XMLString::compareString(uri, SchemaSymbols::fgURI_SCHEMAFORSCHEMA)
              && !XMLString::compareString(localPart, SchemaSymbols::fgATTVAL_ANYTYPE));
  }
  
  inline void TraverseSchema::getRedefineNewTypeName(const XMLCh* const oldTypeName,
                                                     const int redefineCounter,
                                                     XMLBuffer& newTypeName) {
  
      newTypeName.set(oldTypeName);
  
      for (int i=0; i < redefineCounter; i++) {
          newTypeName.append(SchemaSymbols::fgRedefIdentifier);
      }
  }
  
  #endif
  
  /**
    * End of file TraverseSchema.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XUtil.hpp
  
  Index: XUtil.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XUtil.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.2  2001/05/11 13:27:39  tng
   * Copyright update.
   *
   * Revision 1.1  2001/03/30 16:06:00  tng
   * Schema: XUtil, added by Pei Yong Zhang
   *
   */
  
  #if !defined(XUTIL_HPP)
  #define XUTIL_HPP
  
  #include <dom/DOM_Element.hpp>
  #include <dom/DOM_Document.hpp>
  #include <dom/DOM_NamedNodeMap.hpp>
  #include <dom/DOM_Node.hpp>
  
  /**
   * Some useful utility methods.
   */
  class VALIDATORS_EXPORT XUtil
  {
  public:
  
      //
      // Copies the source tree into the specified place in a destination
      // tree. The source node and its children are appended as children
      // of the destination node.
      // <p>
      // <em>Note:</em> This is an iterative implementation.
      //
      static void copyInto(const DOM_Node &src, DOM_Node &dest);
  
      /*
       * Returns the concatenated child text of the specified node.
       * This method only looks at the immediate children of type
       * <code>Node.TEXT_NODE</code> or the children of any child
       * node that is of type <code>Node.CDATA_SECTION_NODE</code>
       * for the concatenation.
       *
       * @param node The node to look at.
       */
      static DOMString getChildText(const DOM_Node &node);
  
      // Finds and returns the first child element node.
      static DOM_Element getFirstChildElement(const DOM_Node &parent);
      // Finds and returns the first child element node with the given name.
      static DOM_Element getFirstChildElement(const DOM_Node    &parent
  		                                  , const XMLCh* const elemName);
      // Finds and returns the first child node with the given name.
      static DOM_Element getFirstChildElement(const DOM_Node     &parent
  		                                  , const XMLCh** const elemNames
  										  , unsigned int        length);
      // Finds and returns the first child node with the given name and
      // attribute name, value pair.
      static DOM_Element getFirstChildElement(const DOM_Node    &parent
  		                                  , const XMLCh* const elemName
                                            , const XMLCh* const attrName
                                            , const XMLCh* const attrValue);
  
      // Finds and returns the last child element node.
      static DOM_Element getLastChildElement(const DOM_Node &parent);
      // Finds and returns the last child element node with the given name.
      static DOM_Element getLastChildElement(const DOM_Node    &parent
                                           , const XMLCh* const elemName);
      // Finds and returns the last child node with the given name.
      static DOM_Element getLastChildElement(const DOM_Node     &parent
                                           , const XMLCh** const elemNames
  	                                     , unsigned int        length);
      // Finds and returns the last child node with the given name and
      // attribute name, value pair.
      static DOM_Element getLastChildElement(const DOM_Node    &parent
                                           , const XMLCh* const elemName
                                           , const XMLCh* const attrName
                                           , const XMLCh* const attrValue);
  
      // Finds and returns the next sibling element node.
      static DOM_Element getNextSiblingElement(const DOM_Node &node);
      // Finds and returns the next sibling element node with the given name.
      static DOM_Element getNextSiblingElement(const DOM_Node    &node
  		                                   , const XMLCh* const elemName);
      // Finds and returns the next sibling node with the given name.
      static DOM_Element getNextSiblingElement(const DOM_Node     &node
  		                                   , const XMLCh** const elemNames
  										   , unsigned int        length);
      // Finds and returns the next sibling node with the given name and
      // attribute name, value pair. Since only elements have attributes,
      // the node returned will be of type Node.ELEMENT_NODE.
      static DOM_Element getNextSiblingElement(const DOM_Node    &parent
  		                                   , const XMLCh* const elemName
                                             , const XMLCh* const attrName
                                             , const XMLCh* const attrValue);
  
  protected:
      // -----------------------------------------------------------------------
      //  Constructors and Destructor
      // -----------------------------------------------------------------------
  
  	// This class cannot be instantiated.
       XUtil() {};
  	~XUtil() {};
  
  };
  
  #endif
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesAttGroupInfo.hpp
  
  Index: XercesAttGroupInfo.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XercesAttGroupInfo.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(XERCESATTGROUPINFO_HPP)
  #define XERCESATTGROUPINFO_HPP
  
  
  /**
    * The class act as a place holder to store attributeGroup information.
    *
    * The class is intended for internal use.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/RefVectorOf.hpp>
  #include <validators/schema/SchemaAttDef.hpp>
  
  
  
  class VALIDATORS_EXPORT XercesAttGroupInfo
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors/Destructor
      // -----------------------------------------------------------------------
      XercesAttGroupInfo();
  	~XercesAttGroupInfo();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      unsigned int        attributeCount() const;
      unsigned int        anyAttributeCount() const; 
      SchemaAttDef*       attributeAt(const unsigned int index);
      const SchemaAttDef* attributeAt(const unsigned int index) const;
      SchemaAttDef*       anyAttributeAt(const unsigned int index);
      const SchemaAttDef* anyAttributeAt(const unsigned int index) const;
      SchemaAttDef*       getCompleteWildCard() const;
      
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void addAttDef(SchemaAttDef* const toAdd, const bool toClone = false);
      void addAnyAttDef(SchemaAttDef* const toAdd, const bool toClone = false);
      void setCompleteWildCard(SchemaAttDef* const toSet);
  
  	// -----------------------------------------------------------------------
      //  Query methods
      // -----------------------------------------------------------------------
      bool containsAttribute(const XMLCh* const name, const unsigned int uri);
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented contstructors and operators
      // -----------------------------------------------------------------------
      XercesAttGroupInfo(const XercesAttGroupInfo& elemInfo);
      XercesAttGroupInfo& operator= (const XercesAttGroupInfo& other);
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      RefVectorOf<SchemaAttDef>* fAttributes;
      RefVectorOf<SchemaAttDef>* fAnyAttributes;
      SchemaAttDef*              fCompleteWildCard;
  };
  
  // ---------------------------------------------------------------------------
  //  XercesAttGroupInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline unsigned int XercesAttGroupInfo::attributeCount() const {
  
      if (fAttributes) {
          return fAttributes->size();
      }
  
      return 0;
  }
  
  inline unsigned int XercesAttGroupInfo::anyAttributeCount() const {
  
      if (fAnyAttributes) {
          return fAnyAttributes->size();
      }
  
      return 0;
  }
  
  inline SchemaAttDef*
  XercesAttGroupInfo::attributeAt(const unsigned int index) {
  
      if (fAttributes) {
          return fAttributes->elementAt(index);
      }
  
      return 0;
  }
  
  inline const SchemaAttDef* 
  XercesAttGroupInfo::attributeAt(const unsigned int index) const {
  
      if (fAttributes) {
          return fAttributes->elementAt(index);
      }
  
      return 0;
  }
  
  inline SchemaAttDef*
  XercesAttGroupInfo::anyAttributeAt(const unsigned int index) {
  
      if (fAnyAttributes) {
          return fAnyAttributes->elementAt(index);
      }
  
      return 0;
  }
  
  inline const SchemaAttDef* 
  XercesAttGroupInfo::anyAttributeAt(const unsigned int index) const {
  
      if (fAnyAttributes) {
          return fAnyAttributes->elementAt(index);
      }
  
      return 0;
  }
  
  inline SchemaAttDef*
  XercesAttGroupInfo::getCompleteWildCard() const {
  
      return fCompleteWildCard;
  }
  
  // ---------------------------------------------------------------------------
  //  XercesAttGroupInfo: Setter methods
  // ---------------------------------------------------------------------------
  inline void XercesAttGroupInfo::addAttDef(SchemaAttDef* const toAdd,
                                               const bool toClone) {
  
      if (!fAttributes) {
          fAttributes = new RefVectorOf<SchemaAttDef>(4);
      }
  
      if (toClone) {
          fAttributes->addElement(new SchemaAttDef(toAdd));
      }
      else {
          fAttributes->addElement(toAdd);
      }
  }
  
  inline void XercesAttGroupInfo::addAnyAttDef(SchemaAttDef* const toAdd,
                                               const bool toClone) {
  
      if (!fAnyAttributes) {   
          fAnyAttributes = new RefVectorOf<SchemaAttDef>(2);
      }
  
      if (toClone) {
          fAnyAttributes->addElement(new SchemaAttDef(toAdd));
      }
      else {
          fAnyAttributes->addElement(toAdd);
      }
  }
  
  inline void
  XercesAttGroupInfo::setCompleteWildCard(SchemaAttDef* const toSet) {
  
      if (fCompleteWildCard) {
          delete fCompleteWildCard;
      }
  
      fCompleteWildCard = toSet;
  }
  
  #endif
  
  /**
    * End of file XercesAttGroupInfo.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesElementWildcard.hpp
  
  Index: XercesElementWildcard.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Log: XercesElementWildcard.hpp,v $
   * Revision 1.1  2002/03/22 00:42:05  sanjiva
   * added c++ contribution from Sri Lanka
   *
   * Revision 1.1  2001/08/21 15:58:42  tng
   * Schema: New files XercesElementWildCard.
   *
  
  */
  
  
  #if !defined(XERCESELEMENTWILDCARD_HPP)
  #define XERCESELEMENTWILDCARD_HPP
  
  #include <util/QName.hpp>
  #include <validators/common/ContentSpecNode.hpp>
  #include <validators/schema/SubstitutionGroupComparator.hpp>
  
  class VALIDATORS_EXPORT XercesElementWildcard
  {
  
  public :
  
      // -----------------------------------------------------------------------
      //  Class static methods
      // -----------------------------------------------------------------------
      /*
       * check whether two elements are in conflict
       */
      static bool conflict(ContentSpecNode::NodeTypes   type1,
                           QName*                       q1,
                           ContentSpecNode::NodeTypes   type2,
                           QName*                       q2,
                           SubstitutionGroupComparator* comparator);
  
  private:
  
      // -----------------------------------------------------------------------
      //  private helper methods
      // -----------------------------------------------------------------------
      static bool uriInWildcard(QName*                       qname,
                                unsigned int                 wildcard,
                                ContentSpecNode::NodeTypes   wtype,
                                SubstitutionGroupComparator* comparator);
  
      static bool wildcardIntersect(ContentSpecNode::NodeTypes t1,
                                    unsigned int               w1,
                                    ContentSpecNode::NodeTypes t2,
                                    unsigned int               w2);
  
      // -----------------------------------------------------------------------
      //  Unimplemented constructors and operators
      // -----------------------------------------------------------------------
      XercesElementWildcard();
      ~XercesElementWildcard();
  };
  
  #endif // XERCESELEMENTWILDCARD_HPP
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/include/validators/schema/XercesGroupInfo.hpp
  
  Index: XercesGroupInfo.hpp
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  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.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Xerces" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache\@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation, and was
   * originally based on software copyright (c) 2001, International
   * Business Machines, Inc., http://www.ibm.com .  For more information
   * on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  /*
   * $Id: XercesGroupInfo.hpp,v 1.1 2002/03/22 00:42:05 sanjiva Exp $
   */
  
  #if !defined(XERCESGROUPINFO_HPP)
  #define XERCESGROUPINFO_HPP
  
  
  /**
    * The class act as a place holder to store group information.
    *
    * The class is intended for internal use.
    */
  
  // ---------------------------------------------------------------------------
  //  Includes
  // ---------------------------------------------------------------------------
  #include <util/RefVectorOf.hpp>
  #include <validators/schema/SchemaElementDecl.hpp>
  
  
  // ---------------------------------------------------------------------------
  //  Forward Declarations
  // ---------------------------------------------------------------------------
  class ContentSpecNode;
  
  
  class VALIDATORS_EXPORT XercesGroupInfo
  {
  public:
      // -----------------------------------------------------------------------
      //  Public Constructors/Destructor
      // -----------------------------------------------------------------------
      XercesGroupInfo();
  	~XercesGroupInfo();
  
  	// -----------------------------------------------------------------------
      //  Getter methods
      // -----------------------------------------------------------------------
      bool                getAdoptContentSpec() const;
      int                 getScope() const;
      unsigned int        elementCount() const;
      ContentSpecNode*    getContentSpec() const;
      SchemaElementDecl*  elementAt(const unsigned int index);
      const SchemaElementDecl*  elementAt(const unsigned int index) const;
  
  	// -----------------------------------------------------------------------
      //  Setter methods
      // -----------------------------------------------------------------------
      void setScope(const int other);
      void setContentSpec(ContentSpecNode* const other);
      void setAdoptContentSpec(const bool toAdopt);
      void addElement(SchemaElementDecl* const toAdd);
  
  	// -----------------------------------------------------------------------
      //  Query methods
      // -----------------------------------------------------------------------
      bool containsElement(const SchemaElementDecl* const elem);
  
  private:
      // -----------------------------------------------------------------------
      //  Unimplemented contstructors and operators
      // -----------------------------------------------------------------------
      XercesGroupInfo(const XercesGroupInfo& elemInfo);
      XercesGroupInfo& operator= (const XercesGroupInfo& other);
  
      // -----------------------------------------------------------------------
      //  Private data members
      // -----------------------------------------------------------------------
      int                             fScope;
      ContentSpecNode*                fContentSpec;
      RefVectorOf<SchemaElementDecl>* fElements;
  };
  
  // ---------------------------------------------------------------------------
  //  XercesGroupInfo: Getter methods
  // ---------------------------------------------------------------------------
  inline int XercesGroupInfo::getScope() const {
  
      return fScope;
  }
  
  inline unsigned int XercesGroupInfo::elementCount() const {
  
      return fElements->size();
  }
  
  inline ContentSpecNode* XercesGroupInfo::getContentSpec() const {
  
      return fContentSpec;
  }
  
  inline SchemaElementDecl* 
  XercesGroupInfo::elementAt(const unsigned int index) {
  
      return fElements->elementAt(index);
  }
  
  inline const SchemaElementDecl* 
  XercesGroupInfo::elementAt(const unsigned int index) const {
  
      return fElements->elementAt(index);
  }
  
  // ---------------------------------------------------------------------------
  //  XercesGroupInfo: Setter methods
  // ---------------------------------------------------------------------------}
  inline void XercesGroupInfo::setScope(const int other) {
  
      fScope = other;
  }
  
  inline void XercesGroupInfo::setContentSpec(ContentSpecNode* const other) {
  
      fContentSpec = other;
  }
  
  inline void XercesGroupInfo::addElement(SchemaElementDecl* const elem) {
  
      fElements->addElement(elem);
  }
  
  
  // ---------------------------------------------------------------------------
  //  XercesGroupInfo: Query methods
  // ---------------------------------------------------------------------------}
  inline bool XercesGroupInfo::containsElement(const SchemaElementDecl* const elem) {
  
      unsigned int elemSize = fElements->size();
  
      for (unsigned int i=0; i < elemSize; i++) {
          if (fElements->elementAt(i) == elem) {
              return true;
          }
      }
  
      return false;
  }
  
  #endif
  
  /**
    * End of file XercesGroupInfo.hpp
    */
  
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/lib/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of Xerces library 
  
  $Log:
  
  Alpha 3 Release          November 26, 2001
  
  
  
  1.1                  xml-axis/contrib/Axis-C++/xerces-c/lib/Linux/ReadMe.txt
  
  Index: ReadMe.txt
  ===================================================================
                              Axis Client Lib for C++ - Lib objs
                          -------------------------------------
  
  Welcome to Axis C++ Client Library working draft 
  
  This consist of Xerces library 
  
  $Log:
  
  Alpha 3 Release          November 26, 2001